Listeners support and finite state machine (FSM)

Prepping for a big Akka.Remote pull request with this one..

Successfully ported the `Listeners` trait from Akka and its associated `ListenerSpec`. Also ported the `TestLatch` class and added it to Akka.TestKit.

Also finished porting the entire Finite State Machine Actor base class and its associated plumbing. 

I'm a little worried about the garbage collector going nuts with the chained delegates that are strung together via the `OrElse` method, but I figured the unit tests plus some time deployed on a long-running IIS process should make it apparent if that's really an issue or not.

I'm about to get started on the unit tests for the FSM, but unfortunately a bunch of the plumbing I need to write them is stuck inside my unstable branch.