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
That would be for integration tests, and this is just a unit test.
The 2 ignored tests don't need an Opal running, they just need files being hosted somewhere (one via http and other on https). I didn't want to configure that for the automated bamboo tests, that's why they are commented. You can always setup those files and run locally when needed