Consolidate SimpleCov configuration

Since we aren't likely to have multiple test suites, move all of the
SimpleCov configuration into the minitest test_helper.rb, instead of
being both in the test_helper.rb, and in a .simplecov file.
Have read_fixture pass path parts to path_to_fixture

Since path_to_fixture was updated in 454bb42 to handle joining fixture
path parts, we can have read_fixture pass them on to it rather than
requiring that they be joined appropriately before being handed to
read_fixture.
Adjust Configuration test names to reflect access method

In an early iteration the configuration options were to be accessed
via the hash accessor (config[:foo]), but this was dropped in favor of
methods for each config option (config.foo).  The ":foo" part of the
test names reflected this early-stage design.
Add migrations_table configuration option

This configuration option defaults to :hummingbird_migrations
Add connection_string configuration option
Start Hummingbird::Database

Hummingbird::Database will be responsible for all direct interaction
with the database, including listing the migrations that have already
been run, as well as running new migrations.

So far, the only implemented functionality is reporting whether the
database has been initialized for use by Hummingbird or not, and
listing the migrations that have already been run against the
database.
Only show master branch Travis CI status in README.md
Rename Database#migrations_run to #already_run_migrations

Since we'll be adding a method to run a migration likely named
something along the lines of #run_migration, it would be a bit
confusing to have two methods so similarly named.
Add support for running migrations via Hummingbird::Database

We can now pass in the name of a migration to run, and it's contents
via #run_migration, and it will be applied to the database, and
recorded in the migrations table.
Unpack config options when making a Plan

Rather than passing in the Configuration itself, pass in just the
configuration options that Plan needs.
Test ordering of Plan#migration_files

Instead of just making sure that all of the expected files are
included in the result of Plan#migration_files, also make sure that
they're in the right order, and that there aren't any extra entries.
Add ability for Plan to determine which migration files need to be run

Plan#migrations_to_be_run takes the output of
Database#already_run_migrations, and compares that against the plan
file in order to figure out:

 * If there are any files in the plan file that have not already been
   run, but that are listed before files that have been run (raises a
   Hummingbird::PlanError).

 * If there are any migrations that have already been run, but are not
   listed in the plan file.

 * Which is the first file in the plan file that has not yet been run.
Unpack configuration options when making a Database

Rather than passing in the Configuration, only pass in the
configuration options used by Hummingbird::Database, when making one.
Add ability to get SQL associated with migration files that need to be run

This repurposes #migrations_to_be_run to attach the migration file
contents to a list of hashes ([{migration_name: file_name, sql:
file_contents}, ...]), and renames the old #migrations_to_be_run
as #to_be_run_migration_file_names.