civiprj - Add git caching helpers:

 * git_cache_setup - Creates or updates a local mirror of a remote repo
 * git_cache_deref_remotes - Find any working-copies based on the local mirror and configures a proper remote
civiprj - Prefetch common git repos
civiprj - Download civicrm-*.git via cache
civi-download-tools - Fix curl-based downloads from sourceforge.net
Merge pull request #8 from civicrm/master-curl-sf

civi-download-tools - Fix curl-based downloads from sourceforge.net
Merge pull request #7 from civicrm/master-cache

Implement git caching
composer.lock - Update totten/amp
composer.lock - Update totten/amp
composer.lock - Update totten/amp
composer.lock - Update totten/amp
civiprj.lib.sh - Pass MySQL port to drush and civicrm.settings.php
civiprj.lib.sh - Pass MySQL port to drush and civicrm.settings.php
civiprj.lib.sh - Pass MySQL port to wp-cli
Use 'amp create' so that user can get prompts.

I adjusted 'amp create' so that it will run 'amp config' if amp isn't
configured, but in that case the user needs to respond to prompts on stdout,
so this makes the environment vars go to a file instead of stdout.
Make it so you don't need to specify db port.

When filling out the DSN for amp, I tend to leave the port out if I want to
use the default port. This fixes things so that it works.
A few more places that need support for MySQL port.

There were a few more places that weren't working if MySQL is not on the
default port. Note that this also needs a patch to bin/setup.sh in
civicrm-core.