Elasticsearch: only throw error on actual decoding error
Elasticsearch: add "engines" virtual function to avoid error
Elasticsearch: check for valid mappings
Elasticsearch: fix tables_list

otherwise it only returns "mappings" as the table
Elasticsearch: sort databases
Elasticsearch: fix select when fields are explicit

If fields are explicitly said, ES returns each row as an array.
Elasticsearch: adapt select() to use $where