(GEP-178) Geppetto Ruby parser should be able to hande BOM's

Add a factory to create an InputStreamReader that is configured
according to a BOM header found on input.
Merge pull request #36 from puppetlabs/issue-178

(GEP-178) Geppetto Ruby parser should be able to hande BOM's