[#1838] Always create full-text search indexes

Before this, we only created FTS indexes when the user sent a `indexes` or
`primary_key` parameter to the `datastore_create` call, which only happens when
you're directly calling it (i.e. not uploading a file through CKAN's
interface).

This makes it faster to upload something to the datastore, but creates problems
as queries aren't on indexed fields. So this commit changes it to always create
at least the full-text search indexes.
Merge branch 'master' into 1838-fts-on-specific-columns

Conflicts:
	ckanext/datastore/plugin.py
[#1838] Use assert_equal to facilitate test debugging
[#1838] Calculate FTS rankings only on specific columns

The bug was that when we've done a full-text query on a specific column, the
query was OK, but the rank was calculated using all text from the row. It
messed up when trying to get DISTINCT values.
[#1838] Fix tests where we were asserting a assert_equals
[#1838] Set default FTS language using ckan.datastore.default_fts_lang

If you set `ckan.datastore.default_fts_lang` on the INI file, it'll be used as
the default language to be used when creating full-text search indexes and
queries. It can be overwritten on a per-request basis by using the `lang`
parameter. If none exist (neither `lang` or `ckan.datastore.default_fts_lang`),
"english" is used as a default.
[#1838] Fix test on FTS indexes creation

It's really bad that I'm now testing the number of indexes created, which is
quite flaky. The problem is that we change the index name depending on if we're
working on Postgres < or > 9. This works for now, but can be improved later.
[#1838] Refactor FTS index creation
[#1838] Create index only if it doesn't exist

We do so by creating a unique index name that's specific to each pair
resource_id + field_name. Before trying to create an index, we check if an
index with this same name exist, and only create it if it doesn't.
[#1838] Refactor tests to be less flaky

Instead of asserting the number of indexes created, we now assert on the actual
index names.
[#1838] Adds docs
[#1792] Refactoring resource views filters' dropdowns

I've cleaned the detection if there's more data than what's displayed, removed
some useless code toremove repeated values (now we have the DISTINCT
parameter), and made the dropdown at the resource view manage page just load 20
results, the same as the other dropdowns.
Merge branch '1838-fts-on-specific-columns' into 1792-filterable-resource-views

Conflicts:
	ckanext/datastore/plugin.py