task: rationalise default value setting in Parameter

The setDefault and getDefault methods are now named setStringDefault
and getStringDefault.  A few type-specific default setter methods
have been added to some of the parameter subclasses.
This is less confusing, more extensible, and easier to use.