PacketEvent Change

Changed the PacketEvent structure so that it now carries a SmartPointer to a Client object, rather than a reference to a SmartPointer to a Client object.

Having the structure contain a const reference to a SmartPointer to a Client would've disallowed some important Client functionality, and having the structure contain a non-const reference to a SmartPointer to a Client didn't self-document -- it could easily be assumed by a consumed that they could modify the actual SmartPointer that the reference was to, as opposed to the Client, which would be inaccurate.
Plugin Messages Update

Updated and modernized the plugin messages module.

Also added necessary packet definitions.
Brand Update

Updated/modernized the brand module.
CLI Fix

Changed the order in which the provider is cleared and the server is shut down.  The previous ordering could've created a situation where the user enters a command after the server is shutdown, and an attempt is made to dispatch this command to a shutdown Server object.