Allow for query parameter on has_many :videos

@claudiofullscreen Would love to get your thoughts.

I'm trying to replace youtube_it with YT on accounts, but currently the only missing piece is querying for videos.

This allows for the following usage (tested on my account):

```ruby
YT::Account.new(credentials).videos.map &:title
 => ["asdf",  "Vegas Indoor Skydiving", "Swing", "UCSD Dance by the Shores Adv. Hustle"]

YT::Account.new(credentials).videos(q: 'vegas').map &:title
=> ["Vegas Indoor Skydiving"]
```

Wanted to get your thoughts before i spend time fixing specs.
@stavro Ok I see the problem. Adding `forMine: true` here is not the solution, because you would limit `channel.videos` to only work for *your own* channel, whereas now you can use it on *any* channel.

I still want to be able to run `channel.videos` to get the list of videos of a channel that I don't own, since that information is *public*.

Also, the `has_many :videos` association of a channel is cached with an instance variable, so it does not invoke YouTube again every time is called. Therefore, if you run

    channel.videos(q: 'foo')
    channel.videos(q: 'bar')

then the second call would still return the results of the first call.

Therefore, my suggestion is to create a new `Yt::Search` model that reflects what you want to do.

    account = Yt::Account.new access_token: '...'
    search = Yt::Search.new q: 'laser', type: :video

which would let you search **all videos on YouTube** that match 'laser'.

Is that what you want?