Infer collection decorator

As @jerodsanto mentioned on #401, it would be nice if calling `decorate` on an `Event` scope would return an `EventsDecorator` if that were defined:

```ruby
Event.upcoming.decorate

# current behaviour:
# => #<Draper::CollectionDecorator of EventDecorator ...>

# desired behaviour:
# => #<EventsDecorator ...>
```

I've implemented this by changing `Decorator.decorate_collection` to infer the collection decorator class where possible. This means that the following cases remain consistent:

```ruby
EventDecorator.decorate_collection(Event.upcoming)
# => #<EventsDecorator ...>

Event.upcoming.decorate
# => #<EventsDecorator ...>
```

In fact, the latter case actually just calls the former ([Decoratable.decorate](https://github.com/drapergem/draper/blob/master/lib/draper/decoratable.rb#L29-L31)).