Speed up random date and time generation with `MR::Factory`

This makes some changes to the `MR::Factory` date and time
generation to speed up creating random values. We switched this to
always return random dates so that it behaved like other values
generated by `Factory` and to avoid "magic-values" in tests.
Unfortunately, this caused significant slowdown in large test
suites. The major slowdown was ActiveRecord type casting the
date/time strings. This changes the generation to 'cache' the
ActiveRecord date/time and then add a random amount of days.
This achieves random dates and times without the problematic
slowdown.
Merge pull request #175 from redding/jcr-speed-up-random-date-times

Speed up random date and time generation with `MR::Factory`
Update to the latest assert (v2.7)

This updates to the latest assert (v2.7). This fixes issues with
running test suites in ruby 2 and ruby 2.1.

/cc @kellyredding
Update Travis CI config, use latest rbx and add ruby 2.1

This updates the Travis CI config to use the latest rbx and also
adds ruby 2.1. These are the current versions being supported by
MR.

/cc @kellyredding
version to 0.23.0

* Remove 'caching' of `Factory` dates and times (#169)
* `FakeRecord`, no longer track attribute changes (#170)
* `RecordStack`, reset fake records `save_called` flag (#171)
* Fix edge case with `assert_not_field_saved` (#172)
* Add `model_reset_save_called` test helper (#173)
* `Factory`, speed up random dates and times generation (#175)

/cc @kellyredding
Add proper unit tests for `ApplyArgs` mixin