Enumerable list entities

## What

Make result entities representing *lists* fully `Enumerable`. See new "Iterating" section in Readme for details.

The new `Entity#full_set` method returns a Ruby Enumerator that will walk across page requests to yield the necessary items.

```ruby
products = root.all_products
# This iterates products in the current page
products.each {|pr| ...}

# #each returns an Enumerator
products.each.with_index{|pr, index| ...}

# #full_set iterates across pages
products.full_set.each{|pr| ...}

# It will make as little requests as possible to satisfy the enumeration
# For 50 items per page, the following will only request pages 2 and 3 (page 1 is already loaded).
products.full_set.first(120).map{|pr| pr.title}
```