Respect the customization of user-emacs-directory

This allow developer to switch easily between multiple installations
directories, using e.g.:

emacs -q --eval '(setq user-emacs-directory "~/tmp/emacs-test-el-get")'

Conflicts:
	el-get.el
Fixed 'symlink bug' on installation of elpa packages in Windows

Conflicts:
	methods/el-get-elpa.el
a fix that doesn't break existing recipes

el-get-build should use :shell t to support "./configure" commands,
but el-get-start-process-list should shell-quote-argument the :program
argument to avoid problems with executables in funny paths.

Conflicts:
	el-get-build.el
	el-get-core.el
fix whitespace, comment typo
Cherry pick essential commits from 4.stable

- 9ff1fd447baad67f7f43867ee5119532240ee4c7
"a fix that doesn't break existing recipes" (quote program name in
start/call-process-shell-command)

- 76f97cff2b6223b83328ce0674e2a60f23184102
"Fixed 'symlink bug' on installation of elpa packages in Windows"

- c38f69669e3e877b8e80fb139c6dd3f8d629ecac
"Respect the customization of user-emacs-directory"