Collect the representations of boolean values

to simplify subclassing by defining explicit sets
of ``True`` and ``False`` booleans.

Don't change the existing interface.
Add myself to CONTRIBUTORS.
Merge branch 'contributor_agreement' into simplify_boolean_subclassing
Add tests for Boolean's subclass behaviour.

Exercize both the default true and the no defaults cases.
Allow setting true/false strings from __init__

This would in turn allow defining translated true/false
strings like in:
    bool=Boolean(false_strings=(_('no'),_('false'),_('n'),_('f'), '0'),
                 true_strings=(_('yes'),_('true'),_('y'),_('t'), '1'))