Exclude remote files from global hardhat mode

This is important because if you have a TRAMP remote file open but can't
currently access that host and you call "global-hardhat-mode", it will
try to connect to that host and hang indefinitely, since "file-truename"
on a remote file requires a connection to the remote host.
Merge pull request #6 from DarwinAwardWinner/no-remote

Exclude remote files from global hardhat mode
document TRAMP limitation
Make global-hardhat-mode customizable

This defines a custom variable "global-hardhat-mode" with a setter that
calls the function "global-hardhat-mode" with the appropriate value in
addition to setting the variable with "setq-default".
Merge pull request #8 from DarwinAwardWinner/master

Make global-hardhat-mode customizable via M-x customize
Use proper setter function
Only use "file-truename" on local files

For remote files, use "(file-remote-p FILENAME 'localname)"
instead. This avoids hanging emacs if the remote server is currently
inaccessible. This means that symbolic links are not resolved on remote
file names.
Revert "Exclude remote files from global hardhat mode"

This should be unnecessary after b76f873.

This reverts commit df1e42dbe787ad5d36e169bf830af11e30609481.
Merge pull request #9 from DarwinAwardWinner/master

Handle remote files without hanging
refactor new function name, use hardhat- namespace
correct/expd docstring, hardhat-safe-file-truename
save 1 repeated function call
OK to treat nil FILENAME same as file-truename
does in hardhat-safe-file-truename per discussion with @DarwinAwardWinner, PR #9
make unsafe remote file-truename customizable
doc bugs/workarounds re: remote file-truename
allow editing .git/info/* eg .git/info/exclude