Codeplex-1465 Allow IHttpActionResult to be used based on the dynamic
return type.

This change unifies the handling of actions with an IHttpActionResult
return type with other actions. Previously we've treating methods
declaring the return type to be IHttpActionResult (or derived) to be
treated specially.
- Only methods with IHttpActionResult return type can use
  IHttpActionResult
- Handling of HttpResponseException is different for methods with return
  type of IHttpActionResult.

These choices were intentional, but now we're reversing them based on
feedback. Now it's possible to return NotFound() or a data object, or an
HttpResponseMessage from an action method with return type of object.

This means that IHttpActionResult is checked before calling into the
action's IActionResultConverter. The documentation for
IActionResultConverter already documents this, and it doesn't really need
to be updated. The difference is that the logic is now based on dynamic
type instead of static type.

(cherry picked from commit cff6169cc730644d75a11cd7e34f695a7e2fffd0)