Reverting Parser changes

* Reverted the previous change that had BaseParser taking an iterable on instantiation.  Instead, the parse function does and subclasses are responsible for any special requirements for the iterable.
* Fixed an issue with open_cp437 where it was producing bytes objects instead of strings.