Refactored and added some javadoc to the network classes and interfaces
Changed the serialization system to not handle unknown types as MappedContainers automatically - now an annotation is required to activate this functionality.
Disabled MiniaturizerComponent and related systems due to not really being a valid component, for now.
Integrated AddedComponentEvent and RemovedComponentEvent. Tweaked a couple of event handlers to use these rather than OnDeactivated or OnActivated.
Fixed some bugs restoring a character away from the origin.
Beginning to set up the Owns annotation.
Player inventories are now correctly persisted and restored when they disconnect/reconnect, via the @Owns annotation
At the moment there are two types of ownership - the @Owns annotation and the owner field in the NetworkComponet - ideally these two concepts will be combined in the future.
Tweaked how Class/Field metadata works a touch
The @Owns now has the following additional functions:
 - Any entity in an @Owns field will be network owned by the entity with that component
 - Any entity in an @Owns field is destroyed when its owning entity is destroyed.
Fixed a bug from the last commit with field metadata not using getters/setters
Removed unnecessary multiple-engine-classpath support.
Converted font over to the new asset system
Merge branch 'multiplayer' into multiplayer-asset-system
Added a serversideOnly field to modinfo.txt
Moved all the components, component systems and events in those respective packages to better locations.
Merge branch 'multiplayer' into multiplayer-asset-system
Added the ability change a block without changing the block entity.
Cleaned up console, messages and command handling
 - Any ComponentSystem can now define commands (instead of CommandProviders)
 - Commands may now return a value, which will be written to the console.
 - Added message type system for filtering and coloring.
 - Fixed up behavior of UIScreenChat, renamed to UIScreenConsole
 - Turned chat into a command rather than a special case.
Added support for commands that are run server-side.
Fixed a whole bunch of instances of the word event being replaced with something else.
Bug fixes:
 - Changed the net id of all entities to 0 during deactivation
 - Prevented the deletion of unloaded entities
 - When disconnected from a server the client was saving a worldmanifest
 - Fixed the setting of ownership for character entities
 - Fixed setting the relevance distance of players on connect
 - Added a fallback for the unlikely occurance that a player stores' character entity isn't a character
 - Added owns annotation on a BlockItem's placedEntity.
 - Fixed some handling of null ownership
 - Fixed view handling of setting blocks outside of the view's region
Additions:
 - Added a method to both attach an entity to another entity and set the offsets
Bug fixes:
* Fixed initial replication of block ids to include family ids (to allow the client to know what freeform families have been registered)
* Fixed an issue with network ids not being set correctly when starting to host.
* Network Ids are now removed when the server is shut down.
* Fixed an issue with blocks entities not being restored correctly when received client-side due to their prefab not being applied.
*
Functionality:
* Added debugTarget command that prints the entity information of the current target to console.
Fixed up runOnServer commands
Fixed field metadata handling of non-accessible setters and getters (in this case, from a package private class but also fixes it for private getters and setters).
Did a run through of all the commands, updating them to run on the server where necessary and sorting them into appropriate systems.
Simplified 'say' command.
Added netFilter to the ReceiveEvent annotation - this can be used to restrict an event handler to just the server or the client.
Partial fix for dropped items. They should now work in single player, but are invisable in multiplayer due to the asset system needing work.
Merge branch 'multiplayer' into multiplayer-asset-system