Streamable serialization and metadata inheritance.

Deserialization uses iterparse, and serialization uses generators in an effort to make XigtCorpus objects more streamable. In the current configuration, a <xigt-corpus> element, its attributes, and its metadata are all loaded initially as "header" information, and <igt>s are loaded one at a time. For serialization, strings are constucted manually to help them work with generators, and to customize pretty_printing.

Metadata is better defined in the XigtMixin class. Metadata can be retrieved with the get_meta() function, which currently returns a list of matches. get_meta() requires an argument for the "type" of <meta> (so it only works for type="xigt-meta" <metadata> elements). It has optional arguments for conditions (unary functions) that must be satisfied in order to be considered, whether to inherit or not, and what the default value is if no match is found.

There are probably other, smaller changes throughout.
Added __init__.py for tests/