fixes to get the test suite passing in ree, mri, and rbx.

In rbx/mri, structs don't output hex id information in their inspects,
so I switched to using an anonymous class for the test to obfuscate
hex obj ids in show output for diffs.

I switched to making the protected context setup dsl methods public.
This is because mri/rbx require pass `true` as the second arg if
testing responds to on private/protected methods.  There really isn't
any value in these singleton methods being protected and I'm testing
and using them in tests as if they are public anyway.

Overall, this gets the gem's test suite passing on these ruby versions:
* ree-1.8.7
* mri-2.1.0
* rbx-2.2.3

Closes #182.

@jcredding ready for review.