refactor and add tests

Changes:

7589bdb (Charles A. Beynon, 16 minutes ago)
   refactor specs by using custome matchers

   The specs have a lot of reused code that could do with some refactoring.
   This commit adds several custome matchers and test helper functions, and
   refactors the tests to use them:

   * Matchers
    - be_signed_in
    - be_signed_out
    - have_success_message(message)
    - have_error_message(message)
   * Helpers
    - signin_as(user): Use a user (e.g. via FactoryGirl.build) to signin
    - signup_as(user): Use a user (e.g. via FactoryGirl.build) to signup

3166920 (Charles A. Beynon, 77 minutes ago)
   implement some tests in cucumber

68471ca (Charles A. Beynon, 2 hours ago)
   install cucumber for testing