New: ProcessesTable module

Former-commit-id: 308aa383c17cdcd0d5512b2b90983a526d83ff35
Fix: HostsTableExpects inheriting from the wrong class

Former-commit-id: 9929b84ac26b8d4d89b907af2efe18ce3ad7783f
Fix: better API for usingProcessesTable()->addProcess()

Former-commit-id: 6e34ba9608290894cfcf2e2dde217d4740782062
New: Shell module now uses the ProcessesTable

Former-commit-id: 8a8c12c362c089ee99cfe3c4076d0b77838537f6
New: the play-story command now removes all running screen processes after a normal shutdown

Former-commit-id: 99c11eec441a8398df97cab1f8bdaa550d19db75
New: all processes now have a processName

Former-commit-id: 7b880e544da803b5ecf9dc5ca4bfab505f4350a9
Tweak: use processName not screenName for clarity

Former-commit-id: 80d913f4fb015f9a40164d2bbbec890d2ecfa04a
Tweak: use processName not screenName for clarity

Former-commit-id: a2fc171d3ea00892fcddea558e7186d600e180b5
New: expectsShell()->isNotRunningInScreen()

Former-commit-id: 14869c0ddfb211184fad3ad69888d4d553d80e91
New: list-processestable command

Former-commit-id: 8bfbe5e1eb38b53a107657d3855c5c9a96ca4f95
New: on startup, tidy up the processestable first

Former-commit-id: 5990d62a77accbff2fcca0edae8cdc2c1fefe272
Fix: remove debugging output

Former-commit-id: 9de98995daf4008c1947796d1814c628762b4658
Fix: typo in variable name

Former-commit-id: aa209cefbe184dadc5551902286608cf246b0a86
New: stop background processes on shutdown

Former-commit-id: cb53c643214db98b4855372753a73666f803ef23
New: --persist-processes switch to override auto-kill of background processes on shutdown

Former-commit-id: 9e7b237040677f8120102d2376b5c9cfd82f9718
Fix: renamed list-processestable command to list-processes

Former-commit-id: 4cfa06acbcf9d0310f1a76dd8b2811c0eb5b1a9f
New: kill-processes command

Former-commit-id: 71515ffd2f241a5f3f681e877432e3d6b4db2b7b
New: when using --persist-processes, tell users how to work with the background processes that survive

Former-commit-id: 22cd995cf5989ff4beb93eadd48bf8d70d6a6f9a