Prefer engine derived from target URI over the configuration.

Previously, `core.engine` was preferred over the value that could be derived
from a target URI. Now the target URI takes precedence over `core.engine`. The
`--engine` option still has highest precedence.

The upshot is that you no longer have to pass `--option` when deploying to a
target, as the engine can be inferred from the target's URI. This is true of
commands that take a target option or argument; those that don't will still
need to pass `--engine` to override any value in `core.engine`.

Resolves #152.