elpa: Scan all package directories.

This also checks if they exist.  Which might even be a problem for
`package-user-dir' on its own for a fresh GNU Emacs install.

* methods/el-get-elpa.el (el-get-elpa-package-directory): Scan all
  package directories and make sure they exist.
elpa: Gracefully error when symlink fails.

This can happen if the package directory is simply deleted but it is
still in the `package-list' and the user tries to re-install the
package.  It is an error but without the patch the error is caused in
`file-relative-name'.

* methods/el-get-elpa.el (el-get-elpa-symlink-package): Gracefully error
  if no directory is found.
elpa: Use `package-delete' to remove packages.

Simply removing the package directory is no longer enough (and why use
`dired' for it?).  This will only set the package status to `deleted'
but package.el will still think the package is installed and refuse a
re-install.  Calling `package-delete' will ensure the right thing is
done.

* methods/el-get-elpa.el (el-get-elpa-post-remove): Call
  `package-delete' to remove packages.