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.
Could this file have small docstring (for now) describing something like: "contains information used parse and construct the binary data"?