ENH: Install extension dependencies

When installing an extension, also query the extension's internal
description file for its list of dependencies, and prompt to install
them as well.

Issue #2912