DSL for contracts

This commit updates the obvious_status example to use the DSL introduces in this pull request: https://github.com/RetroMocha/obvious/pull/15

The Gemfile points to my forked version of obvious so if you accept both pull requests you'll need to fix that, but I wanted you to be able to checkout this version and run it easily before merging anything.

Trevor