add JsonConverterAttribute

 - allows using a json setting to construct a complex object
 - added ToJson & FromJson config delegates so consumers can use the json client of their choice
use ConcurrentDictionary for propertyCache
add TypeLoaderCacheDecorator