Architectural re-write

Migrated legacy hazelcast into a single object (LocalExecutor)
for preserving code compability of the examples.

New Architecture has three main cake components:
1) RemoteExecutor
2) Distributor
3) DistributedRemoteExecutor

Details in Architecture.md in doc folder.
Added Scala components that was missing in the previous commit
Added architecture document to doc folder
Added dummy classes for compiling proposed API withing components
Refactored LocalExecutor in separate object
for isolating Hazelcast dependency while preserving
 compatibility with existing sample code.
Updated Architecture document with more
details and better formatting.