WIP: Cleanup cukes

This is the work I've done so far for #591.  I'm not done yet but it's at a point where it's worth getting feedback.

My focus here is on making are relish docs really first-class, where they are written to read as documentation first, and to serve as regression tests second.  (I feel like our spec coverage is generally good enough for most things.)

I've been using a staging environment to preview how this renders on relish, making sure it looks good as I go:

https://relishapp.com/rspec-staging/rspec-mocks/docs

There are still some of the old cukes in `features-old`. As I've been going along I've been deleting ones that were either covered by new cukes (in `features`) or that I was sure had spec coverage. The ones that are left are ones we need to look into a bit more.

Still TODO:

- [ ] Add a README.md file for the basics directory. Not sure what to put in there yet given there's already a root README with the same kind of info.
- [x] Add a section for the old `:should` syntax (see #591 for an early idea of what this would be).
- [x] Add an "outside rspec" section (again, see #591)
- [x] Deal with the rest of the `features-old` cukes (migrating them to specs as necessary to provide missing coverage).

Well, many users have tried to create doubles in `before(:all)` and expression confusion or opened issues when it didn't work how they expect.  So the fact remains that users do try this, and here we are explicitly demonstrating that it doesn't work and gives you an explicit message.