Refactoring the AbstractAppState and AbstractControl

This is first of what I suppose is going to be a series of many refactors
performed as I move forward in reading jMonkeyEngine 3.0 Beginner's Guide.

This is after 4th chapter, where I learned that main game loop is not the
only (and certainly not the best) place to perform object updates.

First thing to note is my learning about AbstractControl - after learning
about that I modified my particle emitter's TTL mechanism - instead of
iterating over a list of expired spatials and removing them as they go
inside the main loop I created a TimeToLiveControl that itself controls
the TTL of controlled spatial. Also added AbstractControl to BallMan class
and removed the iteration over Tickables from the main loop.

Another thing is AppState - learned that there is a better place to store
game state than in a singleton class. Started moving things to new
GameRunningAppState from old and ugly GameState singleton. Unfortunately
there are still things I couldn't remove in quick refactor.