feature: exposed list as `.data`

changes allow user to update underlying list reference if they don't hold onto it. And also search object 
collections (hashes) the same as you would an array. Also has a slight perf boost when iterating.