Added utility class
Error :: added -3 code (malformed message)
Util :: parse() renamed to parseMessage(), forces header names to lowercase.
Multi :: exec() detaches the callback before invoking it so the handle can be re-added safely.
Request :: overhaul; exec() uses Util::parseMessage(), onSuccess() renamed to onMessage(), observer notification moved out of exec(), onError() and onSuccess() given more granular information.