fix bug where plugins with search_fulltext = False were rendered

Add tests for the default case and when they should be skipped (with
search_fulltext set on the plugin or the model).

Split the get_search_data() method so it is easier to test the logic
with less set up.