Update CHANGELOG.md
Re #2137 Note about vagrant dns in the test documentation
testing infrastructure, issue #1800: Refactor docker testing using Docker in Docker
Fix build on darwin
Minimal, unintrusive implementation of a cleaner Job API.

* Implement a new package: engine. It exposes a useful but minimalist job API.
* Refactor main() to instanciate an Engine instead of a Server directly.
* Refactor server.go to register an engine job.

This is the smallest possible refactor which can include the new Engine design
into master. More gradual refactoring will follow.
Engine: basic testing harness
Engine: centralize checks for supported architectures and kernel versions
Rename 'GraphPath' to the more logical 'Root'. This does not affect users except for a slight text change in the usage messge
Rename ConfigGetenv to ConfigFromJob
Setup daemon pidfile/cleanup in Server.Daemon() instead of main()
Close sqlite persistent connection on SIGINT, SITERM or SIGKILL
Engine: cleanly log the start and end of each engine job
Engine: Engine.Job() never fails, to mimic the os/exec API (and make usage less verbose)
Update sysvinit script to fix a few inconsistencies and be more useful/correct downstream
Make /events API send headers immediately

Go's net/http API does not send headers until the first call to
ResponseWriter.Write().  Ordinarily, this is fine, because in most
cases, responses are returned immediately.  However, for the events
API, nothing is written until some event is sent, which causes
timeouts and/or hangs in some HTTP client APIs, which wait for headers
before returning from the "make request" call.
add links to the Dockerfiles as canonical external requirements, add example of building and exposing the docs and simplify the Dockerfile for cacheability
docker stop sends SIGTERM and SIGKILL, docker kill sends SIGKILL
Doesn't use a query parameter, uses POST body
Update all older docs too
Enable sig-proxy by default in run and attach