Added parse_from_stream() and write_fields_to_stream() to hierarchy.

And centralized some state-ful logic into IsoBox base.
Added moov/full box parsing. Fixed nested container calculation.

Had to fix up some logic for containers in containers. parse_from_stream()
 now returns a value so that cumulative offsets can be calculated for boxes
 in a container that isn't the root (file) container.

Confirmed serializing is still working with my main test files.