partially revert 24ace98e741726d5abc47d772dc6c4b83b2d4613

".git" may not actually be a directory.  It can also be a file
containing something like:

  gitdir: ../../.git/modules/lib/git-modes

Also revert go back to "A || B" instead of "! A' && B", so that it
always succeeds.  The reverted commit made the error non-fatal but
that still resulted in an unnecessary warning.
fix d8c95a9d9b255effac4043c6201d6bb4c7315323

'RM' as a predefined Makefile variable, its default value is 'rm -f'.
The commit being fixed added this 'RM ?= rm -rf'; which cannot have
any effect.

Instead use the predefined 'RM' and add 'RMDIR ?= rm -rf' for when
we actually remove a directory.
Makefile: put ../git-modes on load-path

Abuse 'EFLAGS' to put ../git-modes on the `load-path'.  This is
a tempory hack.  For obvious reasons is does not always work.
Makefile: add BATCHE
Makefile: fix elisp indentation
Makefile: avoid noise by suppressing vc
magit-set-default-diff-options: suppress warning

Variable `magit-diff-options' is not defined yet when
`magit-set-default-diff-options' is first called because it is used to
set its initial value while it is being defined.  However the part of
the function that causes the warning is not used to do so.  By the time
that part is used the variable is also defined.