Add support for PRE_SHUTDOWN service control signals

See commit messages for details.
What if you have multiple Go Services on the same box that go to shut down at the same time? Doesn't this create a race condition?