Change the order ActorRefs, Cells and Actors are created

- The ActorRef creates the Cell.
- The actor instance is created async, meaning we must make sure the mailbox
  isn't started and manually start it.
- Implemented RepointableActorRef (The tests for the router implicitly tests
  this)
- abstract class ActorRefProvider has become an interface (Akka's
  trait has no implementation, so it works just like an interface).
- ActorCell and ActorSystem are both implementing IActorRefFactory.
  In Akka ActorRefFactory is a trait with implementations for
  ActorSelection(). ActorRefFactoryShared has been added that contains
  these implementations.
- Fixed bug: ActorPath.Parse must respect casing for system name

All changes are in line with how Akka does it.