SiteCreate - Allow more flexible workflows

The site:create command tightly couples the download, installation, DB creation, etc.  This is handy for
quick-starting, but when piecing-together different dev workflows, it's helpful to make these a bit more flexible, e.g.

 * When doing scheduled CI, one checks out the latest code from SCM (git/svn/bzr/whatever) and then performs an installation.
 * When auto-testing PRs from Github (or other types of changesets in other SCMs), one might download the official code, then
   apply a patch, then run the installation.
 * Some site-admins create an aggregated git repo which combines core code plus any extensions.
 * When developing installation logic (for core code or extension code), it's convenient to rerun the installation logic
   with yourlocally-developed code.

(Aside: This is based on my experience developing https://buildkit-ui.civicrm.org/ .  I started out with a similar "create"
command which combined download+install and later refactored to allow them to be run individually.  Notably, both drush
and wp-cli strictly separate the download+install commands.)