[Filesystem] Fix and complete the API

Implement the spec.
Fix and pass the TCT tests.
Fix and complete the example.

BUG=XWALK-1071
BUG=XWALK-1827
Here I think you can move all `j++` into while