Add EnvironmentContext and Config to MigrationContext

This lets migrations do stuff like:

    op.get_context().config.get_main_option('schema')

where `schema` is a custom option that I added to alembic.ini