Transfer initial tables to a migration so that all migrations can run

Fixes a problem where migrations from engines are not run after a
db:schema:load, or the schema.rb loses the initial tables when
running db:migrate.

All of the base tables were defined only in the schema.rb and the version
timestamp was newer than the timestamps in the migrations in the mounted
engines.

Schema load assumes that schema.rb includes all migrations earlier than
the schema version (timestamp), and populates the schema_migration table
to reflect this.

The solution here is to pull all of the tables in schema.rb out into a
migration with a version timestamp earlier than the migrations in all
currently attached engines. Having done this both db:migrate and
db:schema:load will now work.
Ensure migrations can be run against a pre-existing live database

Renamed the create_initial_tables migration to use the timestamp of an
existing migration from the public_website. This prevents the migration
re-running and failing when migrations are being run against an existing
database initialised from the old public_website application.
Merge pull request #700 from moneyadviceservice/fix_missing_migration_problem

Fix missing migration problem