Major refactor of the IDynamic interfaces to use Variants as value types

added IDynamicMemberAccessor, IDynamicIndexer<T> which both read and write Variants
Changed all the PSGetIndex/SetIndex/GetMember/SetMember again
Made Expando, Amf3Object, and BinJson object conform to new interfaces