Re-implement validate! to call the validate method

In order to implement complex validation that cannot be accomplished
through property-specific validators, a modelish model should only have
to override one method (validate) in order to have validate! and valid?
automatically work as expected.
Minor documentation update
Prepare to release v0.2.3
Depend on hashie v1.x instead of pinning to v1.0.0

As of hashie v1.1, the Hashie::Dash class was changed to support required
properties, in a way that clobbered modelish validations. In order to
eliminate this conflict, modelish is now overriding a lot more of the
Hashie::Dash internal implementation than I'd like. It'll work for now,
but needs to be revisited soon.
Prepare to release v0.2.4
merging