Issues #2, #5, #6, #7: adding a general download service to check file update on server to avoid downloading it if not changed.
Issues #5, #7: download trek data only if out of sync
Issue #6: download pois data only if out of sync
Adding comments on downloadFile function to explain non-trivial choices