High-level steps:
- Create a HTTP HEAD request.
- Read the "Last-Modified" header and convert the string to a NSDate.
- Read the last modification timestamp of the local file.
- Compare the two timstamps.
- Download the file from the server if it has been updated.
- Save the downloaded file.
- Set the last modification timestamp of the file to match the "Last-Modified" header on the server