Refactor: SW_HOME
Bugfix: Add missing 'url' param to the 'get' command

--------------------------------------------------------------------------------
Change-Id:     Ief6e887120ad03832dd893757da03ea6be291a7e
Signed-off-by: Jeff Felchner <accounts+git@thekompanee.com>
Feature: Install shflags into the framework

https://code.google.com/p/shflags

--------------------------------------------------------------------------------
Change-Id:     I57abfce0c0f379ede361ac711b5d564ad7742a48
Signed-off-by: Jeff Felchner <accounts+git@thekompanee.com>
Feature: Add a 'pull_db' command

This command will (for now) either pull from Heroku or from a local SQL file.

If you would like to pull from the production environment and you're using
Heroku, all you have to do is:

```
pull_db -a 'app_name'
```

By default this will create a new Postgres backup file and pull it down.  That
way you know you have the latest version on your system.  Sometimes however, you
want to pull down a specific backup.  Maybe it was one that was taken prior to
a deploy.  In order to do this, just specify the `-b` option like so:

```
pull_db -a 'app_name' -b 'b123'
```

_Note:_ to get a list of your backups simply run `heroku pgbackups`

By default you want to only specify the _base_ app name.  In other words, we
expect that your app is named something like:

```
app_name-environment
```

on Heroku.  So for the `-a` option, you would only specify `app_name`.  The
command will take your app name and combine it with the environment to create
the full Heroku app name.

Typically your workflow goes something like this:

* Pull from production
* Try some stuff (hackity hack hack) which messes up the DB
* Pull from production again
* Hack some more

Fortunately, if you've previously done a pull, the local raw SQL file is still
on your system in the `tmp` directory.  Each file you've pulled is kept with the
timestamp as the filename.

If you would like to reuse that file (and you should), do this:

```
pull_db -a 'app_name' -e 'local'
```

This will pull from the SQL dump file with the latest modified time in the tmp
directory.

If the latest file is not what you want, you can alternatively pull from
a specific SQL dump file by specifying the path.  Here's an example:

```
pull_db -a 'app_name' -e 'local' -b './tmp/my-specific-backup-file.sql'`
```

--------------------------------------------------------------------------------
Change-Id:     Id59e534aac9604f2cdf6e3112cdf83fdc100040b
Signed-off-by: Jeff Felchner <accounts+git@thekompanee.com>