Add a boolean parameter type

So far this just adds the type and tests it.  I'd like feedback that I'm on the right course here.  My intent is to be liberal in what the parameter accepts.

Next steps will be:
 * documentation, both for users of types and for authors of types (in the DSL)
 * convert existing pure-boolean parameters to use this class