=doc #3986 Slight updates in wording on cluster singleton docs
=pro use sbt 0.13.2
=tes Remove some old (dead) test/sample code
Fixes #13983

Two changes have been made:
- In AkkaBuild, forced using UTF-8 to verify HTML files containing
  diagrams
- In the documentation chapter Building Akka, added a section clarifying
  the Graphviz dependency of generating Scaladoc Content Hierarchies

These fixes eliminates the issues I faced while building Akka on Windows
with NetBeans. The first issue is a Windows specific issue where the
default charset cannot be UTF-8. The second is Windows related in the
sense that Graphviz, the optional dependency of Scaladoc, had to be
manually resolved.
=pro Update genjavadoc version to 0.7
=pro Remove unused atmos project in build
+con #3972 Make Distributedpubsubmediator support consumer group

1. allow Topic have children topics, which are the groups
2. when publish with sendOneMessageToEachGroup flag, it will send to one
actor each group
Updates in the Building Akka documentation page in
accordance with the discussion with @bantonsson
Merge pull request #15009 from 2m/use-sbt-13-2-2m

=pro use sbt 0.13.2
Merge pull request #15012 from akka/wip-3969-update-gen-javadoc-master-ban

=pro Update genjavadoc version to 0.7
Merge pull request #15010 from akka/wip-old-cleanup-patriknw

=tes Remove some old (dead) test/sample code
Merge pull request #15013 from akka/wip-remove-atmos-in-build-patriknw

=pro Remove unused atmos project in build
Merge pull request #2115 from cowboy129/master

+con #3972 Make Distributedpubsubmediator support consumer group
=act #3623 unsubscribe when actors terminate, instead of `isTerminated`

* Moved to removing actors proactively when they are terminated instead of
  checking `isTerminated` during publish.
* Subscribers which have registered before initializing the unsubscriber
  will be aggregated in a Seq until one is registered and then it will
  take responsibility of unregistering them on termination.
* Initialization of the unsubscriber can only be run once - attempting
  to initialize the event stream with another unsubscriber will fail,
  and init will return false.
* Assumed having an init (mutable) method on the `EventBus` is fine, as
  it has such methods already and @patriknw's comment in the task for
  this.
* since we must check if the subscriber has any subscribed channels left
  we had to expose this detail from SubchannelClassification via
  `hasSubscriptions`. Increases cost of ubsubscribe(actor, channel) a bit.
* Evacuated the expensive `hasSubscription` call out of eventstream's `unsubscribe` call, and instead making the Unsubscriber check this before it stops watching an actor. If in the mean time the same actor got subscribed, there will be a new Subscribe message emited - so we're good on that side. Also, if it would terminate before the unsubscriber gets the Register message it will call `watch(actor)` on a dead actor, which results in getting Terminated for it, thus we'll stop watching it from the Unsubscriber as expected.

Final squash and small cleanup. Please review again;
=sam Update version numbers to 2.4-SNAPSHOT
Fixed a typo
Merge pull request #15020 from sslavic/patch-1

=doc fixed a typo in remoting docs
=sam #15028 Change reference from java file to scala file
Merge pull request #15029 from kpfell/15028-akka-sample-cluster-scala-tutorial-fix

=sam #15028 Change reference from java file to scala file
Merge pull request #15008 from ktoso/3986-cluster-singleton-may-become-doubleton-during-splits-ktoso

=doc #3986 Slight updates in wording on cluster singleton docs