[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
@clecou sorry I did not make me clear last time. Referring to https://code.google.com/p/chromium/codesearch#chromium/src/content/public/common/content_switches.h, I'd suggest you put those const vars into a namespace instead of a class, thus the static is avoided. Ideally it will looks like: 

```
namespace vfs_const {

extern const unsigned kDefaultFileMode = 0755;
extern const char kLocationCamera[];
...

} // namespace vfs_const
```