Explosions, TNT, Flint&Steel implementation

This is finished now, only missing things are:
- [ ] check whether the block is flammable (with Flint&Steel / by TNT)
- [ ] use the block's blast resistance

This requires values I'd prefer to be stored along with block's hardness, light level, and so on, so I'm waiting for the implementation of these to finish the things mentioned above.


Also please notice the survival bug I mentioned: #330 
There's another "bug" in GlowPlayer: A player's velocity won't be set to zero sometime, so if you add a velocity to a player it will stay there forever. Since an explosion "throws players away" by adding values to the player's velocity, the velocity will be higher and higher by every explosion.
That means the first explosion creates the right values for velocity, but after the second explosion the velocity will be double as high as normal, since the player keeps the velocity from the first explosion.
This won't be fixed in this PR, as it's a general bug in GlowEntity.

What's done:
- [x] add ItemType ItemFlintAndSteel
- [x] create explosions and drop the related blocks
- [x] setting blocks of explosions on fire
- [x] damage nearby entities [DONE, needs some implementation in GlowWorld]
- [x] set new velocity for affected entities
- [x] detect and fire near TNT
- [x] send explosion sound
- [x] send explosion particles
- [x] define and send explosion-packet (ExplosionMessage.java/ExplosionCodec.java)
Note: This might need to be extended later for other components down the road. It may also need to be refactored in general down the road. (no action to be done in this PR, just a note for the future)