New 'gc' package, implementing a generic garbage collector.

Not yet used by Camlistore.

Change-Id: I81d04ef0c2cbf7457a3ee734bb3710662ff8db34