force a passive/restart checkpoint when certain thresholds are reached

We have 3 thresholds now:
GC_MIN_PASSIVE_WAL_PAGES: run outside a commit / outside the request handler (doesn't delay clients)
GC_MAX_PASSIVE_WAL_PAGES: forced inside a commit (like sqlite's auto-checkpointing)
GC_MAX_RESTART_WAL_PAGES: forced anywhere
when idle do a checkpoint only if there were changes, or more than IDLE_RESTART has passed
fix build on freebsd
Implement progress bar in sxcp

sxcp prints now a progress bar to stdout during file transfers. If some
blocks are skipped, '+' sign is printed.
Use libcurl transfer statistics for progress updates.
Remove old transfer counters.
Add --quiet option to silence standard output.