rename Parser::parse to Parser::parseFile and add Parser::parseData

Parser::parseData is quite useful for unit tests to prevent them
spilling files to everything. Also, what was formerly
Parser::parseFile has been renamed to Parser::parseStream and slightly
modified to not be specific for std::ifstream.

finally, the "strict" argument of this method is now defaulting to "true" instead
of doing the same thing using a separate method.