Run at/background jobs in their own process group

Re-implement job kill using the same approach as job poll.
Add dedicated test battery for job kill.

Fix #797.