(maint) Make sqlite3 use an in-memory DB (try 2)

The previous attempt to enable in-memory sqlite3 database testing for
the spec tests in 58e1c23 is insufficient because the
Puppet[:dblocation] setting is a type of FileSetting which munges values
using File.expand_path.  This is a problem because the path expansion
caused the database to be written to the filesystem rather than memory,
as intended.

This patch addresses the problem by adding a special case for all file
settings.  The munge operation is a no-op if the special value of
':memory:' is passed.