Modify AssociatedMetadataProvider to use PropertyHelper to create accessor

Additionally change it to use TypeExtensions.GetReadableProperties to get
property list. This causes it to ignore indexers which should not be
considered.

Fixes #595
@yishaigalatzer I was talking around two points and should have started a new paragraph after the first sentence:
- comment is no longer applicable (and, as you noted, it wasn't applicable before :smiley_cat:)
- need tests to understand impact of new exclusion for the indexer.  (I didn't say that new behavior was inherently incorrect or even questionable, just different.)