(#18682) Add node-purge-ttl setting to purge deactivated nodes

During garbage collection, this will delete nodes which have been
deactivated for at least the node-purge-ttl amount of time. Deletion of
nodes will also delete their associated catalogs, facts and reports.
This setting is off by default, and is only recommended to be used by
users with a high level of node thrash, which will accumulate lots of
old data.
Add an acceptance test for purging deactivated nodes
Perform GC sweep after purging nodes

This will allow us to immediately clean up resources which were orphaned
due to purging nodes, rather than waiting until the next GC cycle.
Standardize ttl-related preconditions
Merge pull request #425 from nicklewis/purge-stale-nodes

Add node-purge-ttl setting to purge deactivated nodes