Add specs demonstrating problem with verified doubles and keyword args.

These specs fail:

```
Failures:

  1) verifying doubles instance doubles when doubled class is loaded for a method that accepts a mix of optional keyword and positional args allows hash matchers like `hash_including` to be used in place of the keywords arg hash
     Failure/Error: expect(o).to receive(:mixed_args_method).with(1, 2, hash_including(:optional_arg_1 => 1))
       Wrong number of arguments. Expected 2, got 3.
     # ./spec/rspec/mocks/verifying_double_spec.rb:263:in `block (5 levels) in <module:Mocks>'
     # /Users/myron/code/rspec-dev/repos/rspec-core/exe/rspec:4:in `<top (required)>'

  2) verifying doubles instance doubles when doubled class is loaded for a method that only accepts keyword args allows hash matchers like `hash_including` to be used in place of the keywords arg hash
     Failure/Error: expect(o).to receive(:kw_args_method).with(hash_including(:required_arg => 1))
       Missing required keyword arguments: required_arg
     # ./spec/rspec/mocks/verifying_double_spec.rb:255:in `block (5 levels) in <module:Mocks>'
     # /Users/myron/code/rspec-dev/repos/rspec-core/exe/rspec:4:in `<top (required)>'
```

The problem is that our method signature logic treats a `Hash` as keyword args but does not treat hash matchers the same:

https://github.com/rspec/rspec-support/blob/1e52a1ff545f9042fcc3c06d3febf2873defc4e6/lib/rspec/support/method_signature_verifier.rb#L61

Not sure what a good solution is yet.  Bringing it up for discussion.

/cc @xaviershay
Sure you can:

``` irb
irb(main):001:0> def foo(x:1, y:)
irb(main):002:1> puts "x: #{x}"
irb(main):003:1> puts "y: #{y}"
irb(main):004:1> end
=> :foo
irb(main):005:0> foo(:x => 3, :y => 2)
x: 3
y: 2
=> nil
```