allow naming verifying doubles just like ordinary doubles

Below is just a proof-of-concept for feedback before I pull up my sleeves.

The parameter validation is pretty much handled by TestDouble, while the name doesn't seem "verifiable" without setting up tests for failures (which makes a weird/roundabout way for testing this) - so there are a few ways of going about specs for this, and none of them seem ideal to me.

Issues/questions:
1) Personally, since verifying doubles depend completely on TestDouble, I'd check if they call the superclass with the right parameters - as opposed to duplicating specs for all *_doubles (but I'm guessing it's better to duplicate specs explicitly because of the various classes)
2) not yet implemented for other classes (class_double, object_double, instance_spy, object_spy, class_spy - anything else?) 
3) test is in `verifying_doubles/instance_double_with_class_loaded_spec.rb` - which seems like the wrong place (unless the test cases are duplicated in remaining spec files)
4) missing tests in `verifying_doubles/construction_spec.rb` (although I can only really test for invalid parameters - which would be pretty much testing TestDouble initializer anyway)
5) docs not updated (for all mentioned classes)
Why the memoize check here, or even bother assigning it all, my reading of this says this should be nil before hand, and will be overwritten by super anyway?