Add a trim_snapshots keyword argument to limit the number of monthly backups

This patch adds a monthly_backups argument to trim_snapshots that limits the number of monthly backups like the {hourly,daily,weekly}_backups arguments do. monthly_backups differs from the other options in that all monthly_backups will be kept if True is passed; this preserves the current default behavior.