Loosen type check for Mongo::Collection#aggregate

Mongo::Collection#aggregate was doing a strict arg.class == Array and arg.class == Hash. I changed this to use is_a? to make it easier to pass arguments like HashWithIndifferentAccess, which shouldn't interfere with the functionality.

A simple test is included.

Thanks!