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)
New helper function: removeExistingFile.
Use 'removeExistingFile' in 'allPackageSourceFiles'.
Improve an error message.
Improve an error message.
Trailing whitespace.
Whitespace.
Fix a corner case in etag code.
Pass '--builddir' to 'test' when running 'install --enable-tests'.
Move the setting of 'haddockDistPref' to 'installUnpackedPackage'.