Instead of add_list and add_sqltable, the completion model now supports add_category, and callees either pass in a SqlCategory or ListCategory. This makes unit testing much easier. This also folds CompletionFilterModel into the ListCategory class.