Improve update performance, see issue #799
Display a more user friendly message.

When the local and remote repositories match.
Document etag parameter for mkRequest & mkRequest.
Continue with program execution when we get a 304.
Use notice instead of putStrLn.
Make 304 user message more generic.
Fix the punctuation.
Avoid extracting a cached repository.
Use a sum type as the return for downloadIndex.
Use DownloadResult in downloadURI.
Merge pull request #1341 from gostrc/master

Improve update performance (#799)