Implement construction of integer values and characters. One-dimensional arrays are handled but are not constructed. I've also added an inspect() method to the BlendStruct class, which prints a nicely formatted dict with json.
The BlendStruct class handles the representation of a blender structure, which may be loaded or unloaded, and which may contain nested blend structs. This allows for loading specific structures in the tree to save memory.
Blendfile is essentially a wrapper on top of io.FileIO, and besides the high level commands it adds, it also needs to open and close the underlying stream properly. It is logical to subclass io.FileIO, and makes it very convenient to use the wrapper. I am not sure whether allowing users to read from the underlying object is a good idea, but it shouldn't effect the behavior of the high level API.