Merge pull request #1610 from jugglingnutcase/patch-1

Diagnostics: capitalize the keys
Updated model binding to support fields as well as properties.

Added ModelBinding/BindingPropertyInfo.cs to Nancy.csproj, migrating into it the logic DefaultBinder.cs uses to enumerate properties and expanding it to support fields as well. Added unit testing class Unit/ModelBinding/BindingPropertyInfoFixture.cs to Nancy.Tests.csproj.
Updated ModelBinding/BindingContext.cs to store an enumerable sequence of BindingPropertyInfo objects instead of directly referencing System.Reflection.PropertyInfo.
Updated ModelBinding/DefaultBinder.cs to work with BindingPropertyInfo objects wherever it refers to model properties. The primary impact of this change is that .GetValue and .SetValue calls no longer need to supply a dummy 'null' parameter for the property's index arguments, as this detail (which does not apply, in any case, to fields) is now hidden within BindingPropertyInfo.
Updated the initialization of BindingContext objects in ModelBinding/DefaultBinder.cs to convert the enumerable list of properties to a list before stashing it in the ValidModelProperties member, because it does get enumerated more than once in some circumstances.
Reworked the GetProperties helper method in ModelBinding/DefaultBinder.cs to leverage the new BindingPropertyInfo.Collect method, leaving only the blacklist to be implemented within the method.
Updated the Unit/ModelBinding/DefaultBinderFixture.cs and Unit/ModelBinding/DefaultBodyDeserializers/JsonBodyDeserializerFixture.cs unit test classes in Nancy.Tests to verify the functionality of the BindingPropertyInfo objects on both properties and fields.