ADDED: force update checks file integrity

If force update is enabled:
* AssetDownloader() compares existing assets' size and hash to
  remotely reported size and hash. Comparing to locally  saved hash
  also work.
* gatherAssets() compares assest hashes to locally saved hashes if
  possible. Otherwise asset is added into list and checked by
  AssetDownloader().