Use a seperate new structure for retreiving siblings.

When the model structure contains a slice of some elements,
re-using the same structure for the json decoding cause the same
backing array to be used for each decode.  Thus the decoding
will overwrite the data in previous siblings.  Instead, make a
new structure for each sibling to get the decode process to
allocate a new array.  Also, add a unit test to verify the fix.

Note, byte slices do not appear to exhibit this problem.  Slices
of byte slices do for the first slice.
Merge pull request #36 from MJDSys/SiblingSliceFix

Use a seperate new structure for retreiving siblings.
When fetching an RObject with an explicit client, don't use defaultClient.

When fetching an RObject using an explicit client, the implementation would
use defaultClient to fetch the bucket.  Since defaultClient is uninitialized,
this of course panics later on a nil pointer.  Thus switch to using the client
as passed.  Also add to a test to ensure it won't reappear.