Add the option to commit by bucket.

Rather than just by object.
Make by-bucket commit, the default behaviour.
Call GC from a single spot.
Update some alignments.