use model class' query object

this allows custom query classes with extra filters on the model object to be used
use model class' query object only if it's present

sometimes it isn't present. the tests now pass.
use model class' query object in views as well

now the logic in `views._get_or_create` matches that in `search.QueryBuilder.create_query`
replace code to use model.query or session.query(model) with helpers.session_query function
Merge pull request #133 from glyphobet/master

Use custom query classes on model objects