Fix for issue 85 - Dictionary types should return null on key not found

This change makes RouteValueDictionary a full IDictionary implementation
instead of a subclass of Dictionary.

Followed the patterns used in the old implementation, namely preserving
the struct-returning behavior of Keys/Values/GetEnumerator.
:+1: http://msdn.microsoft.com/en-us/library/s4ys34ea(v=vs.110).aspx