Use delayed expansion of environment variables

With the immediate expansion, paths containing the ampersand symbol (&)
will not work in this script. This is likely to occur when the user
profile is located in a folder that contains the symbol in its name.
The command processor misinterprets the symbol as to mean the union of
two separate commands.

To avoid the issue, "delayed expansion" is used and the environment
variables are demarcated using the exclamation mark (!) instead of
the percentage symbol (%).

Signed-off-by: ADTC <send2adtc@gmail.com>
Add fallback section for delayed expansion unavailability

Taking cue from start-ssh-agent.cmd, enhanced gitk.cmd to fallback to
the immediate expansion script if delayed expansion is unavailable.

Both script sections are the same, except for the different environment
variable delimiters. When new changes are made, both sections must be
updated correctly, taking care to use the correct delimiter (! or %) to
demarcate the environment variables. (In fact, the fallback section is
exactly the same as the original script before previous commit.)

Signed-off-by: ADTC <send2adtc@gmail.com>
Merge pull request #252 from ADTC/master

Fix gitk.cmd to work correctly when paths contain ampersand (&) symbol