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)
MC contains several rayTracing methods. All this methods check, whether 'ray(s)' going from a given position in a given direction are blocked by blocks (and maybe entities).
In this case the methods checks how much the entity is affected by the explosion: If you can 'see' the entity from the explosion centre, apply full damage. If you can only see the entity partly, apply only partly damage.