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)
I like "Script-Migration" but I realize we should use approved verbs. Is there any way to disable the warning on install? :) Beyond that I can't think of anything better than New-MigrationScript. For the parameter I would stick with Idempotent. Most people won't know what it means in this context, but that is probably true with Guarded or anything else, and Idempotent probably makes the most sense once you do know what it means.