Modify AssociatedMetadataProvider to use PropertyHelper to create access...

...or

Additionally change it to use TypeExtensions.GetReadableProperties to get
property list. This causes it to ignore indexers which should not be
considered.

Fixes #595