First pass of refactoring

Not yet finished, but the start of this. Pull request is to get travis to run the tests.

 * Added matchers for better spec readability
 * Moved refactored examples into contexts