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 totally wanted to do that - it's just the instance_double and instance_spy are really specially cases because they add the "(instance)" text at the end of the name. Seriously, I'd rather just drop that "(instance)" part and make all verified doubles just default to the plain class, because you can name verified doubles however you want anyway (which would even be encouraged).