Java Pattern - Exception propagation in actor hierarchy using supervision

Ticket #2605
Applied discussion results to implementation and documentation.

- renamed to SupervisedAsk.askOf
- watches for actor termination
- askOf returns Future
- intermediate actor used to prevent actor system bottle-neck
- timeout handling
New Remoting implementation (iteration 3) #2053

 - Asynchronous lockless remoting
 - Pluggable transport drivers
 - Multiple transport support
 - Simplified lifecycle events
 - Support for netty based TCP, SSL+TCP and UDP support
 - Updated Akka protocol with soft-state connections and failure detection
 - Refactored failure detectors (currently duplicated from cluster)
Removed Java7 API call
Initial work of adaptive metrics aware routers, see #2547
ClusterLoadBalancingRouter and refactoring of metrics, see #2547

* MetricsSelector, calculate capacity, weights and allocate weighted
  routee refs
* ClusterLoadBalancingRouterSpec
* Optional heap max
* Constants for the metric fields
* Refactoring of Metric and decay
* Rewrite of DataStreamSpec
* Correction of EWMA and removal of BigInt, BigDecimal
* Separation of MetricsCollector into trait and two classes,
  SigarMetricsCollector and JmxMetricsCollector
* This will reduce cost when sigar is not installed, such as
  avoiding throwing and catching exc for every call
* Improved error handling for loading sigar
* Made MetricsCollector implementation configurable
* Tested with sigar
Switching to immutable.Seq instead of Seq
AdaptiveLoadBalancingRouter and more refactoring of metrics, see #2547

* Refactoring of standard metrics extractors and data structures
* Removed optional value in Metric, simplified a lot
* Configuration of EWMA by using half-life duration
* Renamed DataStream to EWMA
* Incorporate review feedback
* Use binarySearch for selecting weighted routees
* More metrics selectors for the router
* Removed network metrics, since not supported on linux
* Configuration of router
* Rename to AdaptiveLoadBalancingRouter
* Remove total cores metrics, since it's the same as jmx getAvailableProcessors,
  tested on intel 24 core server and amd 48 core server, and MBP
* API cleanup
* Java API additions
* Documentation of metrics and AdaptiveLoadBalancingRouter
* New cluster sample to illustrate metrics in the documentation,
  and play around with (factorial)
Switching over to immutable.Iterable where possible
make HashedWheelTimer tolerate wrap-arounds, see #2686
Merge pull request #838 from akka/wip-2645-√

Wip 2645 √
Preventing the TimerBasedThrottlerSpec printing to the console
Release script instructions added.
Building with 2.10.0-RC2 and all dependencies that are published.
Update doc with correct version of ScalaTest
Cleaning up after 2.1.0-RC2 staging
Increase within timeouts in cluster sample tests, see #2699
Merge branch 'master' into wip-2547-metrics-router-patriknw

Conflicts:
	akka-actor/src/main/scala/akka/actor/Deployer.scala
	akka-cluster/src/main/scala/akka/cluster/ClusterMetricsCollector.scala
	akka-cluster/src/test/scala/akka/cluster/MetricsCollectorSpec.scala
Merge pull request #869 from akka/wip-2686-HWT-overflow-∂π

make HashedWheelTimer tolerate wrap-arounds, see #2686
Merge pull request #872 from akka/wip-2699-cluster-sample-test-timeouts-patrikwn

Increase within timeouts in cluster sample tests, see #2699