journalctl: add new --vacuum-size= and --vacuum-time= commands to clean up journal files based on a size/time limit

This is equivalent to the effect of SystemMaxUse= and RetentionSec=,
however can be invoked directly instead of implicitly.
journald: also check journal file size to deduce if it is empty
journald: fix memory leak on error path
update TODO