Move Stash.cs to Stash\Stash.cs
Move types in Stash.cs to separate files
Move stash.cs to Internal
Move BoundedStashImpl & UnboundedStashImpl to internal namespace
Move BoundedStashImpl & UnboundedStashImpl to Internal folder
Simplify AbstractStash. Add IStash.ClearStash(). Remove IStashSupport

Originally AbstractStash was internal so this is really no breaking change.
IStashSupport isn't really needed. In Akka JVM the trait StashSupport is internal, and most of its code is in our AbstractStash
When unstashing, Terminated messages must be handled specially.
Let ActorCell create a Stash for IActorStash actors.

- Add Stash property to IActorStash
- ActorCell creates a new stash if actor implements IActorStash and hasn't set Stash itself
- ActorCell, after it has called actor.AroundPostStop & after AroundPreRestart it unstashes all messages. If the user wants another behavior the stash should be cleared in PostStop/PreRestart either by calling ClearStash or by calling UnstashAll.
- Marked UntypedActorWithBoundedStash & UntypedActorWithUnboundedStash as obsolete
- Breaking change: The property CurrentStash in WithUnboundedStash has been removed since IActorStash.Stash was introduced. Cannot find a way to make this non-breakable, but the impact should be low. Most likely, if anyone has used it, they inherited UntypedActorWithXXXStash and it still contains CurrentStash
Add overloads for filtering DeadLetters and add DeadLetter.ToString()

- EventFilterFactory.DeadLetter overloads allows a predicate to be specified
- As Eventfilter turns DeadLetters into Warnings, in order for these to be logged better DeadLetter.ToString() must output something useful.
- Fixed bug in how the error message was created. Needed to enumerate all filters. Remnant from when filters wasn't a collection.
Add ActorWithStashSpec
Add BoundedXYZ versions of all UnboundedXYZ

Currently, they are just copies.
Merge pull request #451 from HCanber/stashing-429

Fixes stashing #429
Fixes #459. ImplicitSender should not change when creating TestProbes
Make it possible to specify testprobe name when creating probes
Add ActorOf overload that uses ActorDsl syntax
Log to stdout in colors

StandardOutLogger.UseColors = false turns it off.
Colors can be customized using: StandardOutLogger.DebugColor = ConsoleColor.Green
Merge pull request #462 from HCanber/stdout-in-color

Log to stdout in colors
Merge pull request #460 from HCanber/testkit-testprobe-noimplicitsender

Fixes #459. ImplicitSender should not change when creating TestProbes
Merge pull request #463 from HCanber/testprobe-name

Testkit: Testprobe name
Merge pull request #458 from HCanber/testkit-actor-dsl

Add ActorOf overload that uses ActorDsl syntax to Testkit:

[Fact]
public void MyTest
{
    var a = ActorOf(c =>
    {
        c.Receive<string>((s, context) => context.Sender.Tell("Hello " + s));
    });
    ...
}