Migrations: Implement the PowerShell commands more

Notable changes:
- :sparkles: Tab expansion enabled for context and migartion name arguments (in addition to project names)
- Contexts can be resolved by simple type name
- `Use-EFContext` renamed to `Use-DbContext`
- `Update-Database -Script` functionality moved into new `Script-Migration` command

I should probably change it before merging since it spits out yellow on install. /cc @rowanmiller