BooleanParameter sets internal value before calling super

If this is not done, then any listeners will receive the wrong value
in getValue(). BooleanParameter is a bit different than the others in
that it also has a copy of the value as a field in the subclass.

Also added test case proving bugfix.