Added ender portal support (see #325).

Adds awardAchievement variant which only awards the achievement if its
parent has already been awarded. Fixes some desyncs with world switching.
Implemented basic damage functionality, including drowning.
Fixed color wrapping by converting flat messages to json.
Added item FlintAndSteel
added TNT/explosions
Explosion: drop blocks, set them on fire, fire events
use BlockVector
entity damage
added ItemTool for easier damage handling; formatting; yield for explosions
some start for ExplosionPacket
use constant Explosion.POWER_TNT instead of value 4
added EntityStorage TNTPrimedStorage
particles, sounds, bug fixes and improvements
bug fix: use Particle.SMOKE instead of Effect.SMOKE
removed Material.AIR and .FIRE from ignitable blocks
set TNT's fuse ticks to a random number between 10 and 30, if ignited by explosion; added TODO explanation; renamed explodeTNTBlock -> explodeBlock, isIncendiary -> incendiary