Adds a User model, migration and DB schema

 new file:   app/models/user.rb
 new file:   db/migrate/20130916111143_create_users.rb
 new file:   db/schema.rb
 new file:   spec/models/user_spec.rb
Simple TDD spec for the User model

 modified:   spec/models/user_spec.rb
Simple validation for fields that must be present in User model

 modified:   app/models/user.rb
 modified:   spec/models/user_spec.rb - name, email, password must be present
              (`display_name` and `login` can be extrapolated from `name` if req.)
Adds some more specs to the User model

 modified:   spec/models/user_spec.rb
Adds validators to the User model to pass specs (it's a beautiful thing)

 modified:   app/models/user.rb
Creates an index on the User email and login, which are unique

 new file:   db/migrate/20130916135106_add_index_to_users_email_login.rb - migration to add index
 modified:   db/schema.rb - resulting schema

 modified:   app/models/user.rb - enforce consistent case in emails before saving
Adds bcrypt-ruby gem

 modified:   Gemfile
 modified:   Gemfile.lock
Migration to change User password field to password_digest

 new file:   db/migrate/20130917022709_rename_users_password_to_password_digest.rb
 modified:   db/schema.rb
Adds specs to use password_digest and password confirmation

 modified:   spec/models/user_spec.rb

 modified:   app/models/user.rb - has_secure_password handles everything
              (will comment out for further TDD on authorisation, etc)
Creates specs for an authenticate method in the User model

 modified:   spec/models/user_spec.rb

 modified:   app/models/user.rb - again all handled by has_secure_password
Shortens email downcasing in User model

 modified:   app/models/user.rb
Writes test to ensure that emails are being converted to lower case

 modified:   app/models/user.rb
 modified:   spec/models/user_spec.rb
Adds Post model, migration and DB schema

 new file:   app/models/post.rb
 new file:   db/migrate/20130917035611_create_posts.rb
 modified:   db/schema.rb
 new file:   spec/models/post_spec.rb
Adds specs for the Post model

 modified:   spec/models/post_spec.rb
Adds validation for fields that must be present in a Post

 modified:   app/models/post.rb
 modified:   spec/models/post_spec.rb
Extra Post model validation specs

 modified:   app/models/post.rb
 modified:   spec/models/post_spec.rb
Creates an index on the Post slug, which is unique

 new file:   db/migrate/20130917095209_add_index_to_posts_slug.rb
 modified:   db/schema.rb
Extra specs to ensure that slugs are handled the way I want

 modified:   spec/models/post_spec.rb - identical slugs (case sensitive) are
              not permitted.  Mixed case slugs are permitted (provided they
              don't already exist)
 modified:   app/models/post.rb
Adds FactoryGirl to testing gems

 modified:   Gemfile
 modified:   Gemfile.lock
Replaces the User fixtures with FactoryGirl

 new file:   spec/factories.rb
 modified:   spec/models/user_spec.rb - modifies specs so we have a test user
              that has not been put in DB (using let)