Switch to using entry_points for discovery

This simplifies the discovery of subcommands by moving to [Entry Points][1] for sub-command discovery.  All internal sub-commands are loaded this way and other extensions such as conda-env or conda-build could be moved over to this.

Benefits:

* Simplify the discovery of sub-commands.  This code doesn't remove the `conda-*` search code, but that would be an obvious next step once conda-build and conda-env are updated.
* Allows all extensions to conda to utilize the tab completion already setup

[1]: https://pythonhosted.org/setuptools/setuptools.html#dynamic-discovery-of-services-and-plugins