fixed bug related to #163
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.