Added an initial implementation of 'garbage collection' for the CounterDB. It works by marking dead counters and every once in a while scanning the database and adding those counters to a queue which is used whenever a counter is added. So instead of always appending a counter to the end of the file it will fill in the places where dead counters use to be