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)
I think the logic you've put in `initialize` here could be moved into `VerifyingDouble#initialize`.  I don't see a reason to make a separate module for this one method.  Also, I suspect, but haven't measured, that it'll be a bit faster to combine it as there'll be one less ancestor in the list that ruby has to consider when handling messages. (It's hard to imagine it not being faster).