Call fsync on newly restored files after a tar extract

Without this, a poorly timed whole-system crash (soon after "wal-e
backup-fetch" termination) could cause data corruption since there was
never an explicit request by WAL-E to the kernel to flush pages before
returning from 'backup-fetch'.

Editorialized by Daniel Farina <daniel@heroku.com>
Add htmlcov to .gitignore

This directory is generated by pytest-cov which gathers test coverage,
and it is unlikely anyone would want to commit it.
Don't spin in tight loops with sleep(0), wait 100ms

In principle sleep(0) is all that is necessary to allow another
greenlet to be scheduled, but when encountering defects in WAL-E --
particularly infinite loops -- this could cause unnecessary thrashing
by one's computer.

Sleeping for 100ms doesn't make tests take appreciably longer but does
prevent bugs from mercilessly spinning the CPU.