Fixed the services function so that Drone can launch containers on
custom images.
Merge remote-tracking branch 'yosssi/custom-services'

Conflicts:
	README.md
add 'rebuild' button to rebuild any build that has finished
only allow admins to rebuild commits

This is a check for both whether to display the button and whether to
actually do the rebuild. It slightly modifies RepoAdminHandler so it's
worth a close look.
fail when a label is passed but cannot be found; return errors so that they can be handled by RepoAdminHandler
document commit rebuild method
extract fetchBuildScript to be shared between hook handler and rebuild commit handler
gofmt to fix some indentation issues
reformat comments
add admin checkbox for setting a repo privileged
convert docker client to interface, add fake

This is useful for tests to inject a faked-out Docker API.
for Privileged repos, run privileged for non-PRs

This has not been real-life-tested. Be warned.

Also, the tests mutate global state, which isn't cool.
add --privileged to drone build command
inject docker client with faked out services
add Repo.ShouldRunPrivileged()
move build test into separate package
inform a build whether it's privileged via env

$DRONE_PRIVILEGED will be set to 'true' or 'false'. This can be used to have
a build run in 'degraded' mode (i.e. run only unit tests) if it's running
against a pull request and normally runs privileged, for example.
Merge branch 'master' of github.com:drone/drone

Conflicts:
	README.md
support for git branch promotion strategies

This allows drone to be used as a pseudo-git-pipeline; the deploy step
specifies branches to promote from and to. For example, `master: passed`
instructs the deploy step to promote to `passed` if we're the `master` branch
and just went green.

Signed-off-by: David Varvel <dvarvel@pivotallabs.com>
Merge branch 'privileged-builds' into goodies