title: NSURLSession didBecomeInvalid usage
body: <p>Apple's <a href="https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/URLLoadingSystem/NSURLSessionConcepts/NSURLSessionConcepts.html#//apple_ref/doc/uid/10000165i-CH2-SW42" rel="nofollow">docs on <code>NSURLSession</code></a> state that you have to explicitly invalidate your session so it releases its strong delegate reference, or else you leak memory. So I'm calling <code>finishTasksAndInvalidate</code> in <code>didCompleteWithError</code>. Should I also invalidate it if <code>didBecomeInvalid</code> gets called with a non-nil error with a code other than -999 (cancelled)? Or does <code>didBecomeInvalid</code> only ever get called after I've explicitly invalidated the session?</p>