Macro.extract_args/1 is deprecated, use Macro.decompose_call/1 instead.
Rewrite Ecto.Migrator to accept different directions and strategies.

Exposes new task `ecto.rollback` for reverting migrations, and
adds options `--all`, `--step n`, and `--to version` to both
`ecto.rollback` and `ecto.migrate`.

Deprecates calls to Migrator.run_all, which will for now warn, delegate to
Migrator.run, and behave identically to the old implementation.
Purge migrations between runs in integration tests.
Cleans up private Migrator API.

- Direction is an explicit parameter
- Defaults are now handled by function clauses
- Allows non-strategy options to be consumed
- Deprecation warning removed
- Docs follow conventions
- 'strategies' vs 'strategy_types' no longer conflated
Require direction to be specified in Migrator.run/4.
Move strategy selection out of Migrator and into related tasks.
Make mix migration tasks responsible for furnishing defaults to Migrator.
Removing ::text casting with strings. Not necessary
Ignore Scheme in database URI
Update after feedback for ignoring schemes in URL
Update postgrex to 0.3.0 and bump elixir version requirement
Allow `on` after assoc join
Minor clean ups
Support non-integer belongs_to foreign_key type
Ignore Scheme URI: update error message, remove useless comment
Still pass strategies as options
Add a CHANGELOG
Quote all table and field names in Postgre Adapter generated SQL
Quote columns/tables: introduce quote_column and quote_table
Quote tables/name - fix rebase mistake