replace flet with let+lambda+funcall

flet is marked obsolete in 24.3 resulting in quite a lot of annoying
messages. The intended replacement is cl-flet, but that is unavailable
in earlier emacsen, so we can't use that either.
Merge pull request #1638 from npostavs/no-flet

replace flet with let+lambda+funcall
Fix el-get-elpa-update-available-p for Emacs >24.3
Call package-initialize in el-get-elpa-update

Otherwise, `package-alist` is nil when `el-get-elpa-update-available-p`
is called, which yield another "Wrong type argument: arrayp, nil" error.
Comment why checking available-package
benchmark-init recipe
Merge pull request #1640 from dholm/recipe/benchmark-init

benchmark-init recipe
Merge pull request #1639 from tkf/fix-el-get-elpa-update-available-p

Fix el-get-elpa-update-available-p for Emacs > 24.3
fix #340: el-get-make-recipes

454fb881925fef74ea84caad42c7810d19a07ee0 introduced
el-get-read-all-recipe-files to fix el-get-make-recipes, but forgot to
actually call it.
Use defadvice instead of flet

See #1066 and #1117 for previous attempts.