Some of the necessary classes for the downloader.

This is what I have done so far. The current commit contains a base
ViewModel class, base classes for commands and other necessary classes.
Any development from now on will be uploaded to the repository.