Change behavior of should_not allow_value

Instead of asserting that any of the given value is an invalid value
(allowing good values to pass through), assert that *all* values are
invalid values (allowing good values not to pass through).

This means that this test which formerly passed now fails (assuming that
'good value' is a value that does not produce an invalid record):

    expect(record).not_to allow_value('good value', *bad_values)
Remove auto-detection of Rails / test framework
Remove deprecated matchers
Improve failure messages for failure message matchers
Add SetSessionOrFlashMatcher
Rename set_the_flash to set_flash
Consolidate set_session and set_flash APIs

* set_session('key') changes to set_session['key']
* set_flash['key'].to(nil) no longer works if set_flash has never been
  set