Issue 373: Dictionary<> model binder throws exception when no values present

Previous fix for this was incomplete and would still fail in real world scenarios due to fallback mechanism to RouteData and other value providers because of the key type mismatch.

This resulted in Invalid cast exceptions being thrown.