Fixed a useless array instantiation.

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

This is required in order to cascade styles in the XML chat parser and
still use CraftChatMessage.
Added a parser for an XML subset with a backend that generates ChatComponents.

This allows implements an XML subset proposed in BUKKIT-5245 and helps
implementing API added with Bukkit PR #1008.
Implemented CommandSender.sendXmlMessage and Server.broadcastXml[Message].

Addresses BUKKIT-5245.