!con #3597 Remove hand over data message in cluster singleton
=clu #3608 Simplify Reachability merge

* No need to merge the individual rows for one observer, simply pick
  the rows from the observer with highest version
=clu #3533 Harden cluster startup error handling
!per #3618 Cleanup duplication of life cycle hooks in Processor

 - introduce around life cycle hooks for symmetry with aroundReceive
 - no custom processor-specific life cycle hooks needed any more
 - preStart and preRestart can be overridden with empty implementation
    (interceptors ensure that super.preXxx calls are still executed)
 - all around life cycle hooks can be final
 - standard life cycle hooks are non-final to preserve composability with existing traits (FSM, ...)
=pro,doc Update sbt-multi-jvm plugin to 0.3.8 and add sbt 0.13 docs
Merge pull request #1742 from eligosource/wip-3618-cleanup-lifecycle-hooks-krasserm

!per #3618 Cleanup duplication of life cycle hooks in Processor
Merge pull request #1719 from akka/wip-3597-cluster-singleton-hand-over-patriknw

!con #3597 Remove hand over data message in cluster singleton
!act #3581 Add Tcp.CompoundWrite, some cleanup

Moves `def ack: Event` and `def wantsAck: Boolean` from the `Tcp.WriteCommand` type down to the newly introduced `Tcp.CompactWriteCommand`, which breaks existing code depending on these.
Additionally `Tcp.WriteCommand` now has a few additional methods (`+:`, `++:`, prepend) and a companion object.
=doc #3581 Add "Writing to a connection" section to IO docs
!act #3583 Timer based auto-down

* Replace (deprecate) akka.cluster.auto-down config setting with
  akka.cluster.auto-down-unreachable-after
* AutoDown actor that keeps track of unreachable members
  and performs down from the leader node when they have been
  unreachable for the specified duration
* Migration guide
+clu #3612 Allow join to uninitialized node

* join to self not needed when performing manual joining
Merge pull request #1740 from akka/wip-3608-simplify-merge-reachability-patriknw

=clu #3608 Simplify Reachability merge
Merge pull request #1741 from akka/wip-3533-cluster-startup-failure-patriknw

=clu #3533 Harden cluster startup error handling
Merge pull request #1727 from akka/wip-3583-timer-auto-down-patriknw

!act #3583 Timer based auto-down
Merge pull request #1738 from akka/wip-3612-join-self-patriknw

+clu #3612 Allow join to uninitialized node
!per #3631 Snapshotting

- capture and save snapshots of processor state
- start processor recovery from saved snapshots
- snapshot storage on local filesystem
- snapshot store completely isolated from journal
- LevelDB journal modularized (and completely re-rwritten)
- In-memory journal removed
Merge pull request #1747 from eligosource/wip-3631-snapshotting-krasserm

!per #3631 Snapshotting
Merge pull request #1709 from spray/wip-3581-io-compound-write

!act #3581 Add Tcp.CompoundWrite, some cleanup
Merge pull request #1743 from akka/wip-upgrade-sbt-multijvm-ban

=pro,doc Update sbt-multi-jvm plugin to 0.3.8 and add sbt 0.13 docs
+per #3641 Storage plugin API

- Journal plugin API for storage backends with asynchronous client API (default impl: in-memory journal)
- Journal plugin API for storage backends with synchronous client API (default impl: LevelDB journal)
- Snapshot store plugin API (default impl: local filesystem snapshot store)