[Download] Fix and complete Download API

Refactored Filesytem and Download API to share code
related to virtual roots.
Pass TCT tests.
Fix example.

BUG=XWALK-1070
Strange, what the compiler error exactly? Does it happens to all places that using `kDefaultFileMode`?