ignore backup files
getting rid of more compiler warnings
proper includes for Gem>=0.93 / Gem<0.93

don't rely on the deprecated headers, but include the new ones
if Gem>=0.93 is detected.
include <string>

Gem<0.93 doesn't automatically include <string>, so we include it
in any case.
no need to include Gem's "deprecated" headers

since we now include the correct headers, depending on the version,
we don't need the path to the deprecated headers any more.
no warnings for unused variables