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

Any naming suggestions? I considered `New-MigrationScript` for the command and `Guarded` for the parameter.