HACK: Stilt to fix meta handling
Tastes awful but it works

- Containers with the wrong 'size' now default to GenericAtom
- meta atom now works
- much less StringIO resulting in unnecessary re-reads

This is all fairly ugly. I just stuck as many iterators and flags as I
needed to get this to work. Will clean up some other time.