generic joiner

Some minor changes that allows the integration of a custom joiner that is instantiated similar to the AWS joiner. 

Besides the existing joiners, the class name of a generic joiner can be configured in hazelcast.xml. No additional configuration is done here, i.e. further configuration is handled by the custom joiner internally.

If the class defines a public constructor that takes a Node as argument, the joiner is instantiated using this constructor, otherwise the instance is created using the default constructor.