vtkPythonCommand - Add support for additional call data types

This commit extend the mechanism added in 9366ca67 to support additional
data types.

Supported types now includes 'string0', 'vtkobject', 'int', 'long',
'double' and 'float'.

Also added
 (1) convenience decorator 'set_call_data_type'
 (2) test checking CallDataType can be associated with observer callback

See inlined comments for more details
vtkPythonCommand - Fix indent and variable names