Implemented partition aware distributed objects.

Based on @pveentjer's branch;

https://github.com/pveentjer/hazelcast/tree/controlablepartitioning