Implement garbage collection for ReviseObjects

revise.gc_maxlifetime setting added to indicate the number of days a ReviseObject instance is persisted.

Garbage collection occurs before ReviseObject::save() and after ReviseObject::remove()

close issue #1