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)
You can now change this to:

``` ruby
      def error_message_for(verifying_double)
        allow(verifying_double).to receive(:defined_instance_and_class_method)
        expect(verifying_double).to have_received(:defined_instance_and_class_method)
      rescue RSpec::Expectations::ExpectationNotMetError => e
        e.message
      else
        raise "Should have failed"
      end
```