Removed auto appended Index while pending transactions are empty.

There was a race in the implementation. The Index was appended with the new consistent timestamp before the new consistent timestamp was made visible externaly. Requests and responses appended between appendIndex and the visible update of the consistentTimestamp where using the previous consistent timestamp.

The call inversion (i.e. append with new consistent timestamp before making it externaly visible) was a workaround to prevent TransactionLogReplicationIterator to read beyond the end of the log file (the replication source skips Index record and the iterator read one record ahead).

Both problems (i.e. the race and reading beyond eof) are resolved by simply never appending an Index in the recorder.
Only update the consistent timestamp if there are pending transactions.

This is to prevent replication source iterator (which read up to consistentTimestamp) to reach the end of the log when the consistentTimestamp is updated.
Merge pull request #155 from wajam/manu-remove-idle-index

Removed auto appended Index while pending transactions are empty.