Infer the reader driver, no options required

This patch adds a StageFactory::inferReaderDriver() method that takes
only a filename, no options. The provided options were not used as part
of the inference process, so the base method should not required them.
The original inferReaderDriver(std::string, Options) has been updated to
call this new method.
Without reader type, infer from filename

Add logic in PipelineReader::parseElement_Reader to attempt to infer the
reader type from a filename provided in the options, in absence of a
explicit type.

Fixes #278.