Initial commit of 'akka-cluster' CLI tool working together with the new Cluster JMX API

Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
Cleaned up cluster node admin script and improved functionality in JMX API.

Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
Changed output of the 'cluster-status' command to be nicely formatted. Added error handling to JMX registration. Added more doc to 'akka-cluster' script.

Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
Added start of a help page for the akka-cluster tool.

Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
Improved the 'akka-cluster' CLI tool help message.

Sample run (need to be seen with monospaced font)

$ ./bin/akka-cluster --help
Usage: akka-cluster <node-hostname:jmx-port> <command> ...

Supported commands are:
                      ping - Sends a PING command to the node to see if it is up and available
   join <actor-system-url> - Sends request a JOIN node with the specified URL
  leave <actor-system-url> - Sends a request for node with URL to LEAVE the cluster
 remove <actor-system-url> - Sends a request for node with URL to be instantly REMOVED from the cluster
   down <actor-system-url> - Sends a request for marking node with URL as DOWN
             member-status - Asks the member node for its current status
            cluster-status - Asks the cluster for its current status (member ring, unavailable nodes, meta data etc.)
                    leader - Asks the cluster who the current leader is
              is-singleton - Checks if the cluster is a singleton cluster (single node cluster)
              is-available - Checks if the member node is available
           has-convergence - Checks if there is a cluster convergence
Where the <actor-system-url> should be on the format of 'akka://actor-system-name@hostname:port'

Examples: akka-cluster localhost:9999 ping
          akka-cluster localhost:9999 join akka://MySystem@darkstar:2552
          akka-cluster localhost:9999 cluster-status

Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
Adding TypedActor.context for the lifecycle methods
Making sure that null-messages don't mess up SLF4J handler
Removed 'ping' command. Replaced checking with 'is-available'. Added a bit of info to README for distribution.

Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
#2005 - Putting the required fields into RemoteTransport and took the opportunity to clean up use of ActorSystemImpl
Added CompactByteString

* CompactByteString provides an instance of ByteString that is
  guaranteed to be compact and has performance-optimized element
  acces (since no range-checking is necessary)

* sealed abstract class ByteString, since the implementations of
  ByteString1 and ByteStings assume a fixed set of ByteString
  classes (in pattern matching).
Removed the 'jmxclient' JAR. Instead changed AkkaBuild to get it from the Typesafe Maven Repo and tweaked 'akka-cluster' script to use it.

Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
Merge pull request #410 from akka/wip-2005-remote-transport-signature-√

#2005 - Putting the required fields into RemoteTransport and took the op...
Merge pull request #407 from akka/wip-2002-npe-in-slf4jeventhandler-√

Making sure that null-messages don't mess up SLF4J handler
Merge pull request #404 from akka/wip-camel-doc

Wip camel doc - setting the scene
Merge pull request #406 from akka/wip-2004-typed-context-√

Adding TypedActor.context for the lifecycle methods
Merge branch 'master' into wip-cluster-console-jboner

Signed-off-by: Jonas Bonér <jonas@jonasboner.com>
#1969 - Adding support for specifying sender to PipeSupport
Explicit removal of connection functionality is implemented for AccrualFD
Ignored test runs again + a new test for explicit removal of connections in AccrualFD
Merge https://github.com/akka/akka