Drop vstruct.register, make it an additional argument to vstruct.compile
Add "unpackvals" API function
Rename ast.name -> ast.io to reduce confusion
Retire vstruct/unpack.lua, replace unpackenv with with :read and :readbits methods

There is no readahead optimization at the moment, so IO consisting of many small
reads is likely to murder performance (again).
Migrate Root to new Node framework
Implement List as a copy of Node; no readahead-friendly list splitting yet
Migrate everything else to Node as well
Implement ast:write, retire vstruct/pack.lua, huzzah
Remove legacy API names entirely:

unpack => read
pack => write
width => size
Update README with new read/write terminology.