TestActorRef should not be an actual ActorRef

Instead it mimics an ActorRef, but uses composition instead of inheritance.
With implicit operator that casts a TestActorRef to an ActorRef and overloaded == and != operator,  the user will probably not notice that it's not an actorref
Move Equivalent from XunitAssertions to XAssert.

Rename XUnitHelpers.cs to XAssert.cs
Incorporate TestBarrier into TestKit

Use CreateTestBarrier() inside a test class to create a new TestBarrier
Make TestKit non abstract and everything public.

This will enable usages when the user do not wish to inherit from TestKit but instead create a TestKit instance, assign it to a variable and perform tests on it.
Move files from src/core/Akka.Testkit.Tests to src/core/Akka.TestKit.Tests
Make TestKit an ActorRefFactory and add ActorOfAsTestActorRef

Remove TestActorRef.Create helpers
Remove obsolete members from TestKit
Moved classes from Internals namespace to Internal
Split AwaitCondition with optional args to overloads
Merge pull request #406 from HCanber/testactorref-with-composition

TestKit changes. See #406 for details