Gtk Stuffs

Ok Ignore the last commit for inclusion, but definitely take a look at it.
I can't do multiple keys, when all is async buxton doesn't know how to handle this seemingly large 1 message, when its multiple messages. (Working toward multi message support, so created this circumstance)
Also note, when sync, and multiple requests, we still bork completely, and the client now hangs as of the last commit.
Some input and eyes would be appreciated :) Thinking we should always check for message termination, and leave the rest in the socket. Somehow.