Fix bundler warning about source :rubygems

Now using https://rubygems.org
Initialize unlink_empty_files to false

Because the docs say you'll get either a `TrueClass` or `FalseClass`.
Make FileType a class attribute

Providers including FileMapper can now specify a target FileType instead of
always defaulting to `:flat`.
Don't call backup unless the FileType supports it

Some FileTypes, such as those that deal with crontabs, don't implement the
`backup` method.
Merge pull request #8 from Sharpie/misc-fixes

Misc fixes and tweaks