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>