Added methods to poll the state of the `PushManager` and its client threads

Referring to issue #2, I added a couple of methods to make the PushManager state explicit; they actually shouldn't be necessary, since the `shutdown` and `start` method already don't shut down the connection or open them if they're already in the expected state, but I feel like this way is a little clearer and the `PushManager.isRunning()` method may come in handy.

What do you think?