Make package list use merged recipe definitions

el-get-list-packages wasn't showing descriptions when a partial recipe
in el-get-sources didn't have a :description field.

* el-get-recipes.el
(el-get-read-all-recipes): merge el-get-sources recipes into file
recipes rather than override.
(el-get-recipe-merge): new function.
(el-get-package-def): use it.
Optimize el-get-read-all-recipe-names

This function is used to create completion candidates, so its slowness
is quite noticable. The main cause of slowness was the reading of all
the recipe files which can be avoided because the file name gives the
recipe name.

* el-get-recipes.el (el-get-all-recipe-file-names): new function.
* el-get.el (el-get-read-all-recipe-names): use new function
  el-get-all-recipe-file-names instead of el-get-read-all-recipes to
  avoid having to read every recipe file.
Merge pull request #1799 from npostavs/recipe-read

Read all recipes fixes