Trap sets up a simplified signal "trap", appropriate for common
behavior expected from a vanilla unix command-line tool in general
(and the Docker engine in particular).
The first time a SIGINT or SIGTERM signal is received, `cleanup` is called in
a new goroutine.
If SIGINT or SIGTERM are received 3 times, the process is terminated
immediately with an exit code of 128 + the signal number.