Added the ability to use custom collections

```
class Collection < Array
  def find(id)
    super { |x| x.id == id }
  end
end

class ModelWithCustomCollection
  include Redis::Persistence

  property :pieces, :class => Collection[Piece], :default => Collection.new
end

m = ModelWithCustomCollection.create :pieces => [ { :id => 123, :name => 'first piece' }, { :id => 456, :name => 'second piece' } ]
p = m.pieces.find(123)
```