Implement `lookup_by :foo, raise: true` to raise on miss

Closes #14.
Fully convert to rspec3's expect() syntax

Mostly performed using the yujinakayama/transpec tool, with minor manual
tweaking for readability.
Support `fit` by defaulting to filter on `:focus`
Add `raise: true` to the README
LRU#merge! should return self

The spec around `LRU#merge` was also simply wrong -- with an LRU size of
2, once we merge 2 keys in, one has to be thrown away.

Rubinius was actually *right*; I needed to reimplement `merge` in the
obvious manner to fix MRI.
Merge pull request #15 from pd/raise-on-miss

Implement `lookup_by :foo, raise: true` to raise on miss
Merge pull request #16 from pd/expect

Fully convert to rspec3's expect() syntax
Merge pull request #17 from pd/appraisal

Appraisal
Enhanced lookup_for scope generation

Changes:

1. The scope is n-arity; there's no need for both `with_city` and
   `with_cities`. The plural form is no longer defined.
2. You can explicitly name the scope whatever you want.
3. `lookup_for` now accepts an `inverse_scope` option, as well, to
   generate `without_city` in addition to `with_city`.