Parser Update

This is a nigh complete rewrite of the parser to do proper multi-element support while also being substantially easier to work with as well as being more pythonic.
It does have run-time overhead in that the parse(catalog) consumes ~1gb ram on a 250mb RDF file, but a reasonable computer should process this quickly and release quickly.