[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
nit comment, as chromium does the simple getter normally name as member, which is `GetId()` -> `id()`, `GetFullPath()` -> `full_path()`