Move result types out of the test_result class

Add a new model::test_result_type enum to hold all possible result types
instead of having them in model::test_result::result_type.  This is so
that we can bring in the definition of the enum type via
test_result_fwd.hpp.
Move test result type handling to dbtypes

Strip out the code to parse and generate database-level result types out
of the transactions and put this into the dbtypes module.
Extend report with a --verbose flag

The new --verbose flag causes the report command to print full details
on all selected test cases, including their metadata and their output.

This new flag replaces the previous --show-context, which by itself was
not very useful.
Verbosely report failures in {install}check

Change "make check" and "make installcheck" to run "report --verbose"
after execution if there is a failure.  Makes for much easier debugging
and will also give insight into Travis CI failures.
Add ostream formatting for engine::test_filter
Add ostream formatting for std::set
Implement test case filtering in 'report'

Allow arguments to be passed to 'report' so that the user can specify
which test programs and/or test cases to display in the report.

Combined with '--verbose', this provides an easy mechanism to investigate
test case failures post-facto, which has been a very necessary feature
for a long time.
Merge branch 'report-improvements'

This branch brings in two major changes to the 'report' command: a verbose
mode and the ability to filter the queried test programs and test cases.
These two features combined provide a mechanism to debug the results of a
test case post-factor.

Fixes #49.