Fixed a useless array instantiation.

If you pass an empty array to a non-empty list's toArray method, it *will*
instantiate a new and return that. By doing it ourselves, we need to
instantiate one less empty array.
Added support for passing a default ChatModifier to CraftChatMessage.

This is required in order to use CraftChatMessage in the XML chat parser.
Added a parser for an HTML subset with a backend that generates ChatComponents.
Implemented CommandSender.sendXmlMessage and Server.broadcastXml[Message].

Addresses BUKKIT-5245.