Fix some details in check_backend_integrity().
Fix timeout setting when it is zero.

In particular, this bug caused the checker to fail when it required
more time than the task timeout.
Fix old tests that do not run anymore.
Fix race condition in FileCacher (closes #198).
Convert FileCacher testing to unittest style.

Unfortunately it doesn't seem to work.
Finish the conversion of FileCacher tests to unittest style.
Use Python builtins instead of clumsy for cycles.