Saving package list and restoring.

Relying upon the saved-packges package and doing the following:
 * bootstrapping that package if it doesn't exist
 * reporting missing packages (not installing them - that was messy)
 * advising package-menu-execute so that new saved list created after
   changes to package list made
 * need to be extra careful with emacs-lisp-mode hook because it is
   triggered when installing packages so if it relies upon non-existant
   packages then mayhem ensues.