Replace iteratee structural types with named types

* Based on work by @davidillsley in #967
* Remove reflectiveCalls imports now that iteratees don't use structural types
Move Parsing object into separate source file