Use bin/setup from Travis

In order to test the executable documentation provided by bin/setup, we
should use bin/setup from CI.

Anything that is inappropriate for a CI environment is tucked behind a
check for the CI environment variable, which is present on Travis, Circle,
TDDium, etc. We should strive to mimize what's in here.

This necessitated breaking up the single call to `rake dev:prime` (which
has `db:setup` as a dependency) into a call to `rake db:setup` followed by
a later call to `rake dev:prime` if we're not in CI.

A change was also made to the foreman installation. It wasn't clear to me
why we needed to error when Foreman wasn't installed when we could just as
easily install it.

I transitioned checks for gem presence to use `gem list --installed` and to
omit the `--no-document` flag. This flag should be decided by the user's
`.gemrc`.

The script was also changed to use a bash shebang because `&>` is not POSIX
compliant.
I think we do, because we generally run the tests after changing the schema, but we frequently forget to re-run the development seed data. This means people do a `git pull` and `bin/setup` and get an error.