(maint) refactor to remove File.read stubs

Prior to this commit, the tests for Report.create_from_yaml_file were
commented out due to weirdness around Mocha and stubbing File.read, and
the tests for SettingsReader.filename_to_hash were stubbing File.read. This
commit does a minor refactor of Report.create_from_yaml_file,
SettingsReader.filename_to_hash and associated tests to allow
expectations and stubbing to be done on our local methods rather than on
File.read and File.unlink. We can safely assume that File.read and
File.unlink work the way they ought.
(maint) bump version of Mocha, pg, & activerecord

Prior to this commit, the tests were experiencing strange failures due
to an errant $SAFE being set. The root cause was never determined, but
the problem goes away with the newer versions of the gems included in
this commit.
(maint) use anonymous subclass for mocha stubs

Prior to this commit, specs against 1.8.7 were failing because of
lingering $SAFE=4 side effects from mocha stubbing. This commit uses an
anonymous subclass for the stubbing to prevent global test pollution via
the stubs. Once 1.8.7 is no longer required, this hack can safely be
removed.