`deis pull` as alternative to `git push` workflow

The new `deis pull` command is an alternative to the `git push` workflow that allows promotion of existing Docker images, bit-for-bit, into a Deis application. It pulls the image from your repository and merges it with existing config to create a new release.

# Overview of Changes

 * Refactored logic for creating new releases
 * Client now uses the git remote for backwards-compat, falling back to the name of the current directory as the app name (this is necessary for git-less `deis pull` process)
 * Controller uses a registry-to-registry transfer hack to speed up `deis pull` by 33%, which can be seen and reviewed at https://github.com/deis/docker-registry/compare/repository-import

# How to Test

## Test backwards-compat for existing applications

### Install a Fresh Cluster from Master

 1. Create a Deis cluster on the *master* branch
 2. Register a user with `deis register`
 3. Create a cluster with `deis clusters:create`
 3. Add keys with `deis keys:add`

### Create an Application

 1. Create an application from a git repository (e.g. example-ruby-sinatra)
 2. Deploy the application using `git push`
 3. Commit a minor change (`git commit --allow-empty`) and `git push` a new `v3`
 4. Use `curl` or `deis open` to test that the app is up

### Perform an in-place Upgrade

 1. Uninstall Deis with `make uninstall` (should retain database data and application units)
 2. Checkout `deis-build`
 3. Install upgraded Deis with `make build run`
 4. Use `deis login` to re-establish a session with the controller

### Check Backwards Compatibility

 1. Change directory back into your application
 2. Use `deis info` and `deis open` to check the health of the application
 3. Make a minor change (`git commit --allow-empty`) and use `git push deis master` to deploy it
 4. Use `deis open` to confirm it works
 5. Use `deis rollback v2` to roll back to an image created on the old code
 6. Use `deis open` to confirm it works
 7. Create a new application and use `git push deis master` to ensure the initial build works

## Test New Functionality

 1. Create a new directory to hold an application definition: `mkdir /tmp/example-go && cd /tmp/example-go`
 2. Use `deis create` to create "example-go"
 3. Use `deis pull gabrtv/example-go` to deploy from the public Docker Index
 4. Use `deis open` to confirm the app is working
 5. Use `deis config:set POWERED_BY=blah` to confirm config layers are set correctly
 6. Use `deis rollback v2` to confirm rollback works
 7. Use `deis pull registry.bacongobbler.com/helloworld` to deploy from an in-house Docker index
 8. Use `deis open` to confirm the app is working
 9. Use `deis run env` to verify that the changes to the run command works