Creates a mechanism whereby plugins/tools can register serialization.

Allow plugins/tools to register serialization handlers on both sides of the Json protocol.

* DynamicSerializer registry of Manifest -> Serializer. 
* API hooks in UIPlugin for sbt plugin authors to register serializers of their data
* Expose raw JSON values if serialization is only registered on the server
* Memoize "autogenerated" serializers (Attributed[_], Seq[_], raw types).
* Add an API to use DynamicSerializers when firing events rather than forcing the implicit Format (with caveat that this could be more dangerous).


Notes:  This is still missing some way of preventing memory leaks on registered serializers, or evicting registered handlers on a classloader-death basis.   


Review by @havocp  cc> @skyluc