Env hash

- **Middleware** now use an env hash instead of the old env array
- **Hipchat** middleware uses the git config instead of `ENV` for its auth token (removes the dependency on dotenv)
- **GitPush** middleware will now manually interrupt if the push fails
- **GitPush** middleware now respects the `--force` flag only. No other flags will be passed on (for now).