Don't fail "make clean" when some files are missing

It appears that some of the files listed in "make clean" don't
actually get created when I run "make".  This patch simply papers over
the issue by running "rm -f" instead of "rm", which doesn't fail on
missing files.
Add a .gitignore to exclude binaries

This is pretty trivial: now "git status" exits cleanly whenever I
haven't actually made any changes.
Check the result of a "sscanf" call

This was being reported as a warning by GCC.  The fix is trivial: just
check the return code from sscanf and bail out of check_mount_line()
whenever we don't get the right number of parsed elements.
Fix a hex detection bug (probably a typo)

GCC actually just warned be about this, which is how I found it.  This
is almost certianly a trivial typo: the array index are missing from
one of the array accesses that checks to see if every character in a
string is a valid hex character.
Remove two unused variables

These simply fix GCC warnings, I don't think they're actually
interesting.
Remove the executable bit from some sources

These two source files had the executable bit set, which was causing
them to mess up my tab completion.