Add `extend` method to collection

Allow collections to be extended by the models
in the arguments. Basically a sugar for doing
`target.add(collection.models)`.

Usage: target.extend(collection, [options])

`extend` is confusing with `Collection.extend`, so
maybe a better name can be thought of for it.

Signed-off-by: Rohan Jain <crodjer@gmail.com>