Sesi 111 dataset validation

Despite the name, this branch is actually about SESI-168 Minimum dataset validation.
The only validation supported now is controlled vocabulary from a text/csv file.
There is yet no way to enable validation on a project (pending issue), so its always enabled.
As a consequence of this pull, all the tables/views that have variables with an attribute 'vocabulary_url' will have a validation intertwined with indexing (at the row level), and if one value fails, the whole indexing will fail with a message in the log
I agree. Created SESI-222 to change this later on