Remove Psych from Gemfile

The reason this was here was to resolve Bundler / Psych double loads

    `<class:Parser>': superclass mismatch for class Mark (TypeError)

https://github.com/carlhuda/bundler/issues/2068

The issue has been fixed in Rubygems >= 2.0 and Bundler >= 1.3.0, which
we should all be using now.
Switch web server from Thin to Unicorn

As the Rails application scales to more Heroku dynos, a lack of
concurrency can result in [poor performance](1) and an over-provisioning
of resources. Modifying the app to handle requests more efficiently is
a simple process with immediate benefits.

Unicorn is a [concurrent web server](2) that spawns several processes
within a single dyno without requiring concurrency or threading
awareness in your app.  Applications that migrate to Unicorn often
require fewer dynos and see increased performance.

The [config/unicorn.rb file](3) specifies the number of concurrent web
processes to run on each dyno as well as the proper forking and
termination behavior.

[1] https://blog.heroku.com/archives/2013/2/16/routing_performance_update
[2] https://blog.heroku.com/archives/2013/2/27/unicorn_rails
[3] https://devcenter.heroku.com/articles/rails-unicorn#adding-unicorn-to-your-application
Clean up Gemfile and gemspec

* Use secure RubyGems.org URL.
* Use semantic versioning on minor versions of dependencies.
* Upgrade dependencies.
Set up database before setting up RSpec

Fixes https://github.com/thoughtbot/suspenders/issues/169
Add Delayed::Job

* Use style-guide-appropriate database migration.
* Configure RSpec request specs to run jobs immediately.
* Run `Delayed::Job` workers via the `Procfile`.
* Ensure delay_jobs is reset when example fails.
Fix ActionMailer delivery method configuration

The `delivery_method` configuration line was being appended to an
existing line (which was a comment, thus no error).
Configure strong_parameters to raise in development

This brings the behavior inline with the the attr_accessible mass
assignment protection behavior in 3.2 and can help save some serious
head scratching when an action isn't working as you'd expect.
Enforce Ruby 1.9.2+ in the gemspec
Bump to 1.3.0
Fix mailer configuration
Upgrade to Aruba 0.5.2

Aruba 0.5.1 fails on Windows.
Fixed in cucumber/aruba@d5d2517
Replace custom email validator with gem
Abort RSpec runs on first failure

* Add config.fail_fast = true to spec_helper.
* Move generators config out of RSpec config method.
Upgrade to Rails 4

* Manually create .gitkeep directories. The
  `empty_directory_with_gitkeep` method is removed in Railties 4.
* Remove custom strong_parameters gem. Rails 4 includes it by default.
* Fix syntax. Syntastic reported an issue with some regular expressions.
Use New Relic RPM gem >= 3.5.7 for Heroku accuracy

http://blog.newrelic.com/2013/02/21/using-new-relic-on-heroku-read-how-our-new-ruby-agent-measures-queue-time/
Update Rails version in README.md
Test factory only if it responds to valid?

Allow Factory Girl to be used for non-ActiveRecord objects:

    FactoryGirl.define do
      factory :bundle, class: Hash do
        initialize_with do
          { test: :fail }
        end
      end
    end
Generators don't generate request or routing specs

These specs are better written manually as-needed or tested implictly
via other specs.
Add missing newlines to end of files

This causes GitHub to show a warning in the diff. A newline is added by
default when using Vim, so the file would be changed by simply opening
the file and saving. Neither are ideal.

Hat tip @salbertson
Remove jQuery UI

Only 40% of our recent projects have been including jQuery UI.

The intention of Suspenders is that we're including dependencies only if
we find ourselves using it on just about every thoughtbot project.