Upgrade to rspec 2.14

This adds
- expect(obj).to receive(:method)
- allow(obj).to receive(:method) #stubbing
- allow_any_instance_of(Class).to receive(:method)

There are a number of deprecations

- Use `double` instead of `mock` or `stub`
- Use `stub` instead of `stub!`. But to be honest, there is a new syntax that is preferred: `allow(Object).to receive(:method)`
- No longer support `lambda {}.should_not raise_error(Class)` - use `expect { }.not_to raise_error`. Note the class name is no longer specified

This PR only updates deprecated methods in specs. It does nothing else
Ok, sounds like we have to remove them.  
Either way, I would address the rubocop comments in followup PR's.  Maybe we should configure rspec for the expect syntax in another PR and change all of the "should"s to "expect"s before upgrading to rspec 3.0? https://github.com/rspec/rspec-expectations/blob/master/Should.md#using-either-expect-or-should-or-both