TestActorRef default name must start with $$. Fixes #211
Merge pull request #212 from HCanber/testactorref-name-bug-211

TestActorRef default name must start with $$. Fixes #211
Replace usage of AtomicInteger with Akka.Utils.AtomicCounter
Move Comparable to Akka.Tests in order to remove dep on fastJSON
Remove HoconTests from Testkit

We have the tests already in Akka.Tests but it's missing CanUseFallback and CanUseFallbackInSubConfig
Move ImplicitSenderSpec to Akka.Testkit.Tests
Move Supervisor to Akka.Tests
Change namespace for AkkaSpec & TestProbe to Akka.TestKit
Implement TestKit.TestActor

Also fix tests since the AkkaSpec queue now contains MessageEnvelopes.
Move types in AkkaSpec.cs to matching files
F# MapReduce uses InternalActorRef. It should be using ActorRef. Breaking change!
Extract parts of ActorSystem into ActorSystemImpl, ExtendedActorSystem. Breaking Changes!

This means that ActorSystem now only exposes public things.
ExtendedActorSystem is what extensions sees, and ActorSystemImpl is used internally.
Implement TestKitBase and Xunit.TestKit Breaking changes

- Most of TestKitBase is implemented
- Added a TestKit for xUnit.
- Moved AkkaSpec out of TestKit, It's for internal testing and is not part of TestKit
- Implemented Duration and FiniteDuration. Like Scala's but must be positive (not sure what a negative duration is... )
- Other changes are due to breaking changes in TestKit (Making public members PascalCase, and renaming)