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

(Part of #207)
Yes, it can be disable via the `-DisableNameChecking` parameter on `Import-Module`. Here is the specific warning.
> Some imported command names include unapproved verbs which might make them less discoverable.

I don't think discoverability is an issue since we'll list the commands in `Get-Help EntityFramework` and tell users about that on install.

I'll disable the warning for now and we can discuss names during an API review.