Allow EndpointReference in ClientOptions properties

In order to support passing endpoint references as parameters of
invoke actions, the wsmc_add_property call needs to be extended.

In the current implementation, only string values can be added as
option properties.

This commit add a new wsmc_add_property_epr() call to add a non-string
'epr_t *' property.
Internally, such properties are encoded with an '<epr>' prefix in the
key, serving as type information for the data.
Also the hash cleanup callback is modified to properly free either
string or epr_t data.
Add const declarations to epr_t API
Bindings: Allow to pass EndpointReference as invoke parameter via ClientOpt.add_property
Ruby testcase for invoke() with endpoint reference parameter
Java: testcase for invoke with EndpointReference parameter
Bindings: Java can't to function parameter overload, needs separate add_property_epr callback
Bindings, Java: ClientOptions.add_property_epr -> ClientOptions.add_property

No need for add_property_epr() call separately, add_property can
handle parameter type overloading in Java.
Merge pull request #36 from kkaempf/invoke_with_endpoint_reference

Invoke with endpoint reference