Fix for #22: Only write to cache for an HTTP 200, sweep empty png files.
refs #23: minor cache fix cleanups
 * define constant error domain
 * cleanup some comments
 * avoid early return
 * valid HTTP responses should already check for status 200
Merge branch 'master' into 23-cache-fixes
more cache response fixes based on returned error & HTTP status
fix response cast, handle non-HTTP responses, and define error code