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.
Only check firebird client value if it exists.
Fix docuemntation for core.top_dir default.
Add plan tags as rework tags when loading changes from the database.

This is necessary if, for example, a change has been reworked, but the
reworked version is not deployed, only the previous version. In that case,
Sqitch did not realize it was dealing with a reworked version, so did not look
for a file named `$change@$tag.sql`. So for each change, also look in the plan
to see if the change has been reworked, and if it has, associate all tags as
rework tags up to the reworking change. This should allow the proper deploy,
verify, and revert scripts to be found.

Resolves #166.
Give credit where credit is due.
Merge remote-tracking branch 'upstream/master'