Bug fix.
Garbage collection can apparently run at any time (i.e.
when you're in C space and not just when you're in Ruby space) and
it was occasionally running in between adjacent "delete" and "new"
statements when the result set was being reset.
This change removes this race condition by making the result member
of ClientUserRuby a permanently instantiated variable and extending
the P4Result class so that it can reset itself in a way that GC
respects. Now the only dynamically allocated C++ object is the
top level P4ClientApi object.