Synchronize status with package.el
Currently, if one install an ELPA package via el-get, the status is not synchronized. That means if you "el-get-install
Maybe we can improve that and fetch the package status directly from the ELPA backend.
In general, any el-get package dir that is a symlink could have this problem. In particular, install methods that use the system package managet (e.g. apt-get) would also have this problem. I guess a generic way to deal with this is to check the targets of all symlinked packages, and if the link is dead, assume the package has been uninstalled.
However, then you need to think about dependencies, and whether to just reinstall that package, remove those that depend on it, or just leave things in an inconsistent state.
There's also the problem of versionning with ELPA. We symlink to a package-version directory. What if you upgrade that in ELPA? I don't know what happens with the previous version, but if the directory disappears, you can't follow the symlink anymore yet the package is still installed.
Maybe el-get methods should have the option of overriding the "get package status" operation by supplying an optional argument to the registration function?
By the way, we might want to consider starting to use cl-style keyword arguments (using defun*) instead of long lists of optional arguments.