Revert "Rake tasks only connect to db if they depend on :environment"

This reverts commit 94055976cf3de61e87c01965f4c989f1ca08002a.

This is not actually necessary. Calling establish_connection does not
actually cause Active Record to connect to the database. It just gets
ready to do so - the connection is actually formed the first time that
it's needed (i.e. when ActiveRecord::Base.connection is called).

This also means that it's ok to call establish_connection even if the
database doesn't exist, so tasks like db:create can run just fine after
establish_connection has been called (so long as we don't try to check
out the connection anywhere).

Related: #125.
Use remove_connection rather than connection.disconnect!

remove_connection will work even if we haven't actually connected to the
database yet. But connection.disconnect! will cause a connection to be
made and then disconnected - and this will fail if we can't create a
connection (e.g. because we're running rake db:create and the database
doesn't exist yet).

Fixes #125.