added the ability for the parser to take extra parameters
significant change to the parser api. a parser now takes the location of a datasource and is itself responsible for accessing it. (previously the surrounding application was responsible to feed the data into the parser. this was changed to support web-service based data sources.

the FileBasedParser an abstract class that takes care of many typical file related tasks.