- If an actor that was stopped from `pykka.Actor.on_start()`, it would unregister properly, but start the receive loop and forever block on receiving incoming messages that would never arrive. This left the thread alive and isolated, ultimately blocking a clean shutdown of the program. The fix ensures that the receive loop is never executed if the actor is stopped before the receive loop is started.
- Set the thread name of any `pykka.ThreadingActor` to `PykkaActorThread-N` instead of the default `Thread-N`. This eases debugging by clearly labeling actor threads in e.g. the output of `threading.enumerate()`.
- Add utility method `pykka.ActorRegistry.broadcast()` which broadcasts a message to all registered actors or to a given class of registered actors. (Fixes: 7)
- Allow multiple calls to `pykka.ActorRegistry.unregister()` with the same `pykka.actor.ActorRef` as argument without throwing a `ValueError`. (Fixes: 5)
- Make the `pykka.ActorProxy`'s reference to its `pykka.ActorRef` public as `pykka.ActorProxy.actor_ref`. The `ActorRef` instance was already exposed as a public field by the actor itself using the same name, but making it public directly on the proxy makes it possible to do e.g. `proxy.actor_ref.is_alive()` without waiting for a potentially dead actor to return an `ActorRef` instance you can use. (Fixes: 3)