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)
IMO, this isn't a change we want.  The error is intending to tell us that the double class doesn't implement the named method, not that the double doesn't implement it.  Of course the double doesn't implement it -- the double starts as a blank slate with none of the original class's methods defined on it!