Add tests for enqueue feature (and other things)

This pull requests adds the following:

- refactoring of `enqueue` feature as well as the addition of proper tests
- use `sudo: false` on Travis for faster builds
- make all tests work with `go test ./...` (after building with `-tags integration`) so they don't have to be run with `ginkgo`
  * including rewriting some tests to not use `ginkgo`/`gomega` at all
- add code coverage stats using [coveralls](https://coveralls.io/)
- `enqueue` and `init` now work with get remotes that start with `git://` (and added corresponding tests)
- remove the necessity for the `webhook` package to know about `job.TestMode`