Autoprune

This pull extends #4515 and #4481 implementing a lightweight sanity check which executes periodically during runtime to make sure the block files needed by the node are present.

There's also a new mode of operation introduced: -pruned, which automatically removes old block files and marks the blocks as pruned.

This should allow to lower the amount of resources needed to run a node.

See the individual commits, and the other pulls for details about all the changes introduced.
Much better, thanks :)! A little nit, you are missing a single space after ``-prune=<n>`` ;).

May I also suggest splitting the sentences of the description, like in ``-debug=<category>``? That makes it (IMHO) easier to change the string in the future (translations) and better looking in the output.