Return remaining unparsed data from parse functions

This depends on ashfall's PR #4, so it currently contains her code from there. The diff will make more sense when that's already merged.
http://tools.ietf.org/html/rfc5246 for reference. I'm not opposed to this being present in a comment :)