Indicative docstrings

This makes generated docstrings come out in the indicative rather than reading e.g. 'should do X', so that we don't get specdoc that mixes and matches when using the indicative in explicit docstrings.

It introduces a new method, docstrings, on matchers which returns a hash for negative and positive docstrings, but it also tries to avoid putting too much burden on the authors of matchers by a) providing a default implementation for matchers defined via the dsl and b) falling back on 'should/should_not #{description}' when the docstrings method isn't present.

The tests and features pass, although I'm aware of some tests in rspec-core (e.g. http://relishapp.com/rspec/rspec-core/v/2-6-rc/dir/command-line/line-number-option) which will break (in easily fixable ways) as a result of applying these changes.

I'm aware that this is a pretty invasive change and I wouldn't be surprised to hear that it breaks something else as currently implemented, but I wanted to throw up a pull request/issue to solicit thoughts/discussion as much as anything else.