MemberAccess: Extract ScalarType class for JSON

Share JSON code between value &
collection property accessors.

Also make ValuePropertyAccessor fully
generic to avoid boxing without runtime
compilation.
MemberAccess: Remove last value compilation