Support looping through ArrayAccess instances

Add support to use custom classes which implements Traversable for looping purposes.

Example of Traversable class: [Illuminate\Support\Collection](http://laravel.com/api/source-class-Illuminate.Support.Collection.html)