Ensure EMAIL_RECIPIENTS is set on staging

When the variable isn't set, mail deliveries will raise:

```
ArgumentError: An SMTP To address is required to send a message. Set the message
smtp_envelope_to, to, cc, or bcc address
```

I could cause head scratching, based on forgetting that staging intercepts
emails.
Add ActionMailer spec support file

Clears deliveries collection before each test
Include newrelic config file

* Fixes https://github.com/thoughtbot/suspenders/issues/287

Minor:

* Remove unused `download_file` method
* Add newline before spec expectations
Include `formulaic` gem

Useful for outside-in integration testing

* integrates nicely with `simple_form`
* encourages `I18n` from the get-go
* encourages cleaner `capybara` specs
Use PostgreSQL 9.3 on Travis CI

Heroku's default is Postgres 9.3 [1], but Travis' default is Postgres 9.1
[2]. This can occasionally cause problems which are difficult to debug.

[1]: https://devcenter.heroku.com/articles/heroku-postgresql#version-support
[2]: http://docs.travis-ci.com/user/using-postgresql/
Set up Segment.io by default

In order to analyze metrics later, we need to instrument our app to log
the right metrics. The primary type of instrumentation we care about is
called "event tracking."

We use Segment.io to capture events whenever possible. It is basically
the adapter pattern for analytics services.

Segment.io lets us drop one JS library into our web apps, or one Ruby
library into our server-side framework, or one iOS SDK into our mobile
apps. Then, we can toggle on and off different services such as Google
Analytics, Intercom, and others.

http://playbook.thoughtbot.com/#instrumentation

If we are working on an app that uses authentication through a library
such as Clearance, we should add the following to
`app/views/application/_analytics.html.erb`:

    <% if signed_in? %>
      <%= render 'signed_in_analytics' %>
    <% end %>

https://github.com/thoughtbot/clearance

At that time, we should also add
`app/views/application/_signed_in_analytics.html.erb`:

    <script type="text/javascript">
      analytics.identify("#{current_user.id}", {
        created : "#{current_user.created_at}",
        email : "#{current_user.email}"
      }, {
        Intercom : {
          userHash : "#{OpenSSL::HMAC.hexdigest('sha256',
    ENV['INTERCOM_API_SECRET'], current_user.id.to_s)}"
        }
      });
    </script>

The most likely first signed in service we'll want is Intercom. It plays
two important roles for an early stage product:

1. communication (and support) with customers and
2. measuring retention (such as Weekly Active Users)

https://intercom.io
Set up staging and production for CDN

The value of `ASSET_HOST` will look like `//global.prod.fastly.net`.

In production every asset has a hash added to its name. Whenever the
file changes, the browser requests the latest version as the hash and
therefore the whole filename changes.

Putting the assets version in an environment variable makes it possible
to invalidate the cache without a re-deploy, if necessary. Simply re-set
the `ASSETS_VERSION` as a Heroku config variable to change the hash
globally and make the browser request every asset again.

Stuff we already have in Suspenders that makes this all work:

Gemfile:

    gem 'coffee-rails'
    gem 'sass-rails'
    gem 'uglifier'

config/environments/{staging,production}.rb:

    config.assets.compile = false
    config.assets.digest = true
    config.assets.js_compressor = :uglifier

We don't have to set `config.serve_static_assets = true` because the
`rails_12factor` gem does it for us.

We recommend using Fastly for the CDN.

http://www.fastly.com/