Opt4A: MVC: Optimize ModelMetadata.Properties.
Opt4B: MVC: MultiServiceResolver: Simplify and cache values.
Opt17: Change SupportedExtensions from List to Array for performance.
Opt33A: AsyncResultWrapper.Begin: Add overloads taking a state argument.

MVC throughput is impacted by delegate and closure allocation. This change enables future optimizations that remove these allcoations from AsyncResultWrapper.Begin calls.
WA13: WebAPI: DefaultContentNegotiator.SelectResponseMediaTypeFormatter: Avoid foreach over List<T>.

WebAPI Async SelfHost is impacted by the overhead of foreach over List<T>. List<T> enumerators represent 3.89% of all allocations. This change removes some enumerator allocations per request and also reduces loop CPU overhead.
WA14: WebAPI: MediaTypeHeaderValueExtensions.IsSubsetOf: Avoid foreach over Collection<T>.

WebAPI Async SelfHost is impacted by the overhead of foreach over List<T>, including copies wrapped by Collection<T>. List<T> enumerators represent 3.89% of all allocations. This change removes some enumerator allocations per request and also reduces loop CPU overhead and Linq in some code paths.
Opt3C: MVC: Avoid Linq and copying when removing from dictionaries.