convert keys and values when using ArrayAccess

+ tests
Merge pull request #21 from tony2001/master

convert keys and values when using ArrayAccess