OWIN: Improve debugging when the underlying Feature is missing.

#147
Some users had difficulty running OWIN apps on Kestrel because Kestrel doesn't implement most of the feature interfaces. OWIN keys that were mapped to those interfaces (e.g. owin.CallCancelled) were just returning null rather than throwing KeyNotFoundException.
- Make TryGetValue, ContainsKey, etc., return false if the underlying feature is missing.
- Also set/return defaults for required entries.

none of this requires thread safety right?