make system.actorOf non-blocking (*), see #2031

(*) that actually depends on whether provider.actorOf blocks, which
currently MAY happen when actor creation triggers a remote connection

- properly CAS childrenRefs within ActorCell, making it safe to update
  from the outside
- add reserve/unreserve to ChildrenContainer and move uniqueness check
  there
- when creating, first reserve, then add the actor; unreserve if
  provider.actorOf did fail
add test for waves of top-level actors
fold reservedNames into normal ChildStats trees inside ChildrenContainers
ActorCell: move out and reuse children updaters, add stress test
make system.actorOf() non-blocking (and working), see #2031

- introducing RepointableActorRef, which starts out with an
  UnstartedActorCell which can cheaply be created; the Supervise()
  message will trigger child.activate() in the supervisor, which means
  that the actual creation (now with normal ActorCell) happens exactly
  in the right place and with the right semantics. Messages which were
  enqueued to the dummy cell are transferred atomically into the
  ActorCell (using normal .tell()), so message sends keep working
  exactly as they used to
- this enables getting rid of the brittle synchronization around
  RoutedActorRef by replacing that one with a RepointableActorRef
  subclass which creates RoutedActorCells upon activate(), with the nice
  benefit that there is no hurry then to get it right because the new
  cell is constructed “on the side”

misc fixes:

- InvalidMessageException is now actually enforced when trying to send
  “null”
- Mailboxes may be created without having an ActorCell, which can come
  in handy later, because the cell is only needed when this mailbox is
  going to be scheduled on some executor
- remove occurrences of Props(), which is equivalent to Props[Nothing],
  which is equivalent to «bug»
- add test case which verifies that context.actorOf is still synchronous
- plus all the stuff I have forgotten.
incorporate review comments, add docs, see #2031

also add Java sample for creating custom MailboxType
Avoid gossip merge when singleton cluster, see #2250
Start sending heartbeats immediately when joining, see #2249

* Keep track of joins that are in progress in State.joinInProgress,
  with Deadline
* Add test that fails without this feature
Revert "Somehow the code for the fast and the secure was flipped"

This reverts commit 95419ba82f76539152882fc25e0187f44d049f10.
When the Cipher changes were reverted, this also got reverted, so fixing it
Renamed AESCounterRNG classes to be a bit more self-explanatory
Added some comments
Renamed AESCounterRNG classes to be a bit more self-explanatory
Added some comments
Merge branch 'wip-rename-ssl-rng' of github.com:dev10/akka into wip-rename-ssl-rng
Merge pull request #555 from dev10/wip-rename-ssl-rng

Renamed AESCounterRNG classes to be a bit more self-explanatory
Temporary ignore, see #2259
Fix failing TransitionSpec, failed due to wrong test, see #2259
Remove fixme
Merge pull request #551 from akka/wip-2250-singleton-cluster-merge-patriknw

Avoid gossip merge when singleton cluster, see #2250
Merge pull request #553 from akka/wip-2249-heartbeats-after-join-patriknw

Start sending heartbeats immediately when joining, see #2249
Attempt to deal with race between sending and receving multi-framed messages