Codeplex-1526 - Add support for DisplayNameAttribute to Web API

Web API was missing support for this attribute in model metadata, which
MVC has had for some time. The support here is intended to be consistent
with MVC (DisplayAttribute takes precedence).

Use it like:

public class MyModel
{
    [DisplayName("Zip Code")]
    public int HorriblePropertyName { get; set; }
}

to provided a human-readable name for a property that will be used in
validation/error messages.

You can also subclass and override the DisplayName property to support
dynamically computing text or pulling it from a resource.

(cherry picked from commit 75a5487f5017d6545518dc26adfb7e992d82bc01)