Fix public method with a java bean property name not being accessible.

>>> b.property1 == "beanvalue" # same as b.getProperty1()
True
>>> b.property1() == "method return value" # call method b.property1()
Traceback...
TypeError: 'unicode' object is not callable
Use setter for Java bean property assignment even if not having a getter
Refactored ProperteisCustomizer for better code readability.
Merge pull request #41 from baztian/property_method_shadow

Fix public methods being shadowed by property having same name