Feature: `fig up` and `fig run` now start linked containers + new `auto_start` option

UPDATE: This PR implements #31 and adds an `auto_start` option to fig.yml.

I mostly write libraries, rather than complete applications. As such, I tend to depend on one or more "services" and also have an additional "console" environment where I test drive code that integrates with those services.

Using fig for this purpose isn't much more convenient than just manually using docker, since fig requires you to `fig up -d SERVICE` for each service, before using `fig run SERVICE COMMAND` to get into a console. That's more or less the native docker approach, with the omission of the need to pass flags like `-v` and `-p` repeatedly.

Summary of changes:

  * Added new `auto_start: false` in fig.yml to allow services to be skipped on `fig up`
    - services can still "link" to these, in which case explicitly starting that service will start this one too
  * `fig up SERVICE` will now start links if needed (only the linked services)
  * `fig up --no-links SERVICE` will just start SERVICE`, without starting links
  * `fig up --keep-old` will not recreate containers if they already exist (it may start stopped containers though)
  * `fig run SERVICE COMMAND` will now start links if needed, as per `fig up`
    - this implicitly uses `--keep-old` for the internal `fig up`
  * `fig run --no-links SERVICE COMMAND` will just run COMMAND without starting links

Any criticism of my newbie python code would be welcomed and acted upon.

Considerations: Is `--keep-old` a good name? Perhaps `--preserve-old` sits better? Or just `--preserve`.
Small thing: what if we move the `if keep_old` check from `recreate_containers` up here? That way we can keep that knowledge out of `service.py`, and `recreate_containers` is still named honestly.