Add more client integration tests, fixes #14

This adds test for:
* empty and non-empty dirs
* deep directories
* wide directories (small files)
* deep + wide
* small files
* large files
I had to fix a bug in Filer that these tests found, which is why the submodule is updated (make sure you `git submodule update` if you fetch this).  I also had to increase our test timeout so long sync tests don't fail due to timeout. I have a few other random small fixes in the existing tests and test utils, too.