Replace old manual metadata system with new automated MetadataComponent

In addition, also added the metadata that was missing for some entities.
All metadata is now automatically updated by comparing live and synched values.
Some of the old entity protocols have been removed as they ended up empty.
Minecart/Boat has been further implemented to properly shake/take damage.

Signed-off-by: Irmo van den Berge <bergerkiller@gmail.com>
Merge pull request #640 from bergerkiller/master

Replace old manual metadata system with new automated MetadataComponent
Use snapshotted transform for camera, not render transform

Signed-off-by: Jack Huey kitskub@gmail.com
Formatting cleanup and import organization.
- Used Spout's IntelliJ formatting.
Fix blast resistance values for all blocks

Fixes VANILLA-410
Some blocks didn't have any resistance set, most just had wrong value.
Signed-off-by: <scott@scott-weldon.com>
Merge pull request #641 from 501st-alpha1/blast_resistance

Fix blast resistance values for all blocks
Split Minecart extensions into Minecart and MinecartType components

Signed-off-by: Irmo van den Berge <bergerkiller@gmail.com>
Fix chat message codec, general code cleanup

Signed-off-by: Irmo van den Berge <bergerkiller@gmail.com>