Stringify isql path for Str client attribute.

Per #122.
Only stringify file object.

Per #122.
Fix "Cannot find deploy template" errors when installed into a local::lib

The lib paths for local::lib contain an "@", which was unwittingly
interpolated in the spawned perl process which rewrites
App::Sqitch::Config.  This caused broken paths to sqitch's etc dir.

Protect against secondary interpolation by escaping special characters.
Credit @tsibley.
Add -batch option to sqlite3.

Otherwise, on newer versions at least, sqlite3 emits a newline after a
script has been run. Annoying.
Eliminate wide character warning when piping instead of paging.
Update SQLite tutorial with targets.
Update MySQL tutorial with targets.
Update Oracle tutorial with targets.
Start updating the Firebird tutorial with targets.

Will also be developing a Git repo at the same time. But it's late, new year's
eve, so I will have to come back to it and finish later. :-)
Document that `verify` does not execute tests for reworked changes.
Remove the undocumented test options from the add command.

They were aliases for verify, but never documented, or at least not for long.
Add support for generating arbitrary scripts from templates.

Closes #111. This change required pretty substantial changes to the
way the `add` command is configured and operates, but all for the good,
I think.

* Replace the `with_$script` and `$script_template` attributes with
  `with_scripts` and `templates`, which return hash references mapping scripts
  to template files.
* Add the `--with` option to name a script to generate. Repeplaces the
  `--deploy`, `--revert`, and `--verify` options.
* Add the `--without` option to name a script *not* to generate. Replaces the
  `--no-deploy`, `--no-revert`, and `--no-verify` options.
* Add the `--use` option. Pass in one or more key/value pairs to map script
  names to their templates.
* Replace the `add.deploy_template`, `add.revert_template`, and
  `add.verify_template` config variables with a section, `add.templates`.
* Determine the list of templates by listing the subdirectories of all three
  template directories, `--template-directory` (or `add.template_directory`),
  `~/.sqitch/templates`, and `$etc/sqitch/templates`. Any subdirectory of
  these directories that has a valid template will result in a script being
  generated in a directory with the same name, unless `--without` excludes it.
* Add the `script_file` method to App::Sqitch::Plan::Change, so that we have a
  uniform way of getting the path to any script file, not just the core three.
  The core three sill respect `--deploy-dir`, `--revert-dir`, and
  `--verify-dir`, but any custom scripts have no such luxury
Fix precedence issue that prevented an exception from being thrown.

Thanks to a warning from Perl 5.19.8 and the Perl 5 Porters!
URI::db is now on CPAN.
Recognize HEAD and ROOT as aliases for @HEAD and @ROOT.

I often use `HEAD` myself, without thinking, from long habit with Git. Since
this `HEAD` and `ROOT` are reserved words that cannot be used as change names,
anyway, allow them to operate as if the `@` is implicit.

Not going to allow any other bare strings to operate as tags, for now, since
they can always become change names, which might confuse things. It's the use
of `HEAD` that was really bothering me, though. Closed #119.
Prevent already-installed templates from triggering failures.

Need to globally mock out `system_dir` and `user_dir` to point nowhere in
order to prevent any templates in the testing user's home or system Sqitch
config directories from borking the tests.
Update Firebird tutorial for targets.

And also edit it to be more in sync with the SQLite tutorial on which it is
based. Also pushed a Git repo for it.
Add new modules to RPM Spec file.

Mostly for firebird.
Reemove unused module.