Improve the filemode trustability check

Some file systems do not fully support the executable bit:
a) The user executable bit is always 0
b) The user executable bit is always 1
c) Is similar to b):
   When a file is created with mode 0666 the file mode on disc is 766
   and the user executable bit is 1 even if it should be 0 like b)

   There are smbfs implementations where the file mode can be maintained
   locally and chmod -x changes the file mode from 0766 to 0666.
   When the file system is unmounted and remounted,
   the file mode is 0766 and executable bit is 1 again.

A typical example for a) is a VFAT drive mounted with -onoexec,
or cifs with -ofile_mode=0644.
b) is VFAT mounted with -oexec or cifs is mounted with -ofile_mode=0755

The behaviour described in c) has been observed when a Windows machine with
NTFS exports a share via smb (or afp) to Mac OS X.
(CIFS is an enhanced version of SMB
 The command to mount on the command line may differ,
 e.g mount.cifs under Linux or mount_smbfs under Mac OS X)

Case a) and b) are detected by the current code.
Case c) qualifies as "non trustable executable bit",
and core.filemode should be false by default.

Solution:
Detect when ".git/config" has the user executable bit set after
creat(".git/config", 0666) and set core.filemode to false.