enable pause/resume; parser error messages

adds two functions, pause() and resume() on XmlStream that call it's expat counterparts.

we need to wait for a db query to return (with an id) before we can continue inserting data from child nodes (that reference said id). pausing/resuming xml parsing seemed the best option to handle the case, and expat supports it.

to call these methods on expat, we need to store the parser object (XmlStream._parser) within the parse() function.

Additionally, expat parse errors are reported as an Error object, so users get the actual error message with line number, not just "unspecified error event".