Create MessageInterface to handle incoming messages

Also fleshed out the receiveHandshake method, and worked more on the
Downloader.