Q object support in task.filter

* modify encoders
* add support in client.filter
* add support in task.filter
* test
* doc
filter_q