Attempting to bind multiple request values to a single valued property
results in incorrect assignment

The conversion code in ValueProviderResult is duplicated from Mvc and
expects array types for request parameters with multiple values. However
WebAPI uses List<T> to represent these values. Consequently the conversion
code falls through resulting in incorrect representation.

This change updates the ValueProviderResult to expect instances of IList
which should address both array and List<T> types.

Work Item: 1563