Update fulltext search to take care of private bookmarks

This looks good, can we explode it up a bit to make it more clear about what's getting built. I know it'll take up more lines but the hope is that it'd be more clear when reading the code. 

For instance this reads a bit more clear to me:

    qry = And([
        qry,
        Or([
            Term('is_private', 'f'),
            And([
               Term('username', username),
               Term('is_private', 't')
            ])
        ])
    ])