Have python parameter objects implement expected boolean conversions

python allows implicit conversion of objects to a boolean. By default, objects always convert to ‘True’. This was unexpected for a ‘cms.bool(False)==True’. By implementing __nonzero__ our objects now implicitly convert as expected. We also note that our list based parameters were already doing the proper conversion since they inherited from python’s built in list class.
Merge pull request #1758 from Dr15Jones/pythonObjectsCompareToBool

Framework -- Have python parameter objects implement expected boolean conversions