Allow generic server deserialization for querying

See http://stackoverflow.com/questions/26037793/hazelcast-queries-on-server-without-classes-being-present
This change adds the capability requested in the Stackoverflow question. This is a major change with architecture implications so please review carefully.
A good description of the new functionality can be found on the new interface AttributeAccessible.
The unit test AttributeAccessibleTest tests the feature for querying and indexing.
There should be documentation for this in the manual, maybe under topic 12.6. Tell me if I should write something and in which format it should be (html, markdown, ...).
* attributeName is never null (otherwise all the calling methods already fail with NullPointerExceptions)
Other points please see updated doc.
Dealing with private fields etc. is the responsibility of the person who implements AttributeAccessible. If a field can not be accessed getValue and getType may return null but then of course it doesn't make sense to put an index on it.