Modify #each_commit to consider all heads

Remove #newest_commit and #oldest_commit
Refactor serializer #write_translation into #write_key_value

Interface needs to be more flexible. Should be able to write key/values
instead of just translations, since serializers can be used for more
than just writing translations.
Don't allow stream to be closed (flush instead)