+con #3551 Buffer messages in cluster client

* Stash when establishing connection to receptionist
=clu #3600 Disable Cluster assertInvariants checks by default

* asserts can be enabled by system property 'akka.cluster.assert=on'
Merge pull request #1714 from akka/wip-3551-buffer-cluster-client-patriknw

+con #3551 Buffer messages in cluster client
+con #3595 Use remote death watch in cluster client
Merge pull request #1716 from akka/wip-3595-cluster-client-remote-death-watch-patriknw

+con #3595 Use remote death watch in cluster client
Merge pull request #1723 from akka/wip-3600-disable-assertInvariants-patriknw

=clu #3600 Disable Cluster assertInvariants checks by default
akka-persistence prototype

The most prominent changes compared to eventsourced are:

- No central processor and channel registry any more
- Auto-recovery of processors on start and restart (can be disabled)
- Recovery of processor networks doesn't require coordination
- Explicit channel activation not needed any more
- Message sequence numbers generated per processor (no gaps)
- Sender references are journaled along with messages
- Processors can determine their recovery status
- No custom API on extension object, only messages
- Journal created by extension from config, not by application
- Applications only interact with processors and channels via messages
- Internal design prepared for having processor-specific journal actors (for later optimization possibilities)

Further additions and changes during review:

- Allow processor implementation classes to use inherited stash
- Channel support to resolve (potentially invalid) sender references
- Logical intead of physical deletion of messages
- Pinned dispatcher for LevelDB journal
- Processor can handle failures during recovery
- Message renamed to Persistent

This prototype has the following limitations:

- Serialization of persistent messages and their payload via JavaSerializer only (will be configurable later)
- The LevelDB journal implementation based on a LevelDB Java port, not the native LevelDB (will be configurable later)

The following features will be added later using separate tickets:

- Snapshot-based recovery
- Reliable channels
- Journal plugin API
- Optimizations
- ...
Merge pull request #1700 from eligosource/wip-3574-akka-persistence-prototype-krasserm

akka-persistence prototype