Hot refactor

Went back and fixed quoting on collection and search which I forgot to do in the last pushes.  Sorry about that :)
Cool, lets talk through my thoughts as to why.

I agree the collection can be fetched by a user, which this can still do.  I separated out the logic so it can stand on it's own, separation of concerns and all.

Most everything should be being accessed via the root Bgg api object.  And probably adding all this documentation is way overkill (as is the possibility of my code being overkill).

The main reason I am doing it this way is to get inline with the xmlapi, and also allow for greater flexibility.

As an example with the collection object.  Lets say in a given app using this gem, I pull back a list of buddies for a given user.  In that app, I want to see a given buddies collection.  I don't think I should have to get that user first, then get their collection.  That would create two requests when only one is needed.