[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
Wrong indent, should be
```
Storage::Storage(
    int id, int type, int state, const std::string& fullpath)
    : id_(id),
      type_(type),
      state_(state),
      fullpath_(fullpath) { }
```