Add a switch to allow running in a pruned state

These are the main functional changes on this state:

* Do not allow running with a wallet or a txindex.
* Check for data at startup is mandatory up to last 288 blocks.
* NODE_NETWORK flag is unset.
* Requests for pruned blocks from other peers is answered with "notfound" and they are disconnected, not to stall their IBD.
* The range of blocks pruned is logged.
Implement autoprune

Main changes on this mode:

* Periodically check presence of needed block files.
* Automatically prune old block files if -pruned is set.