Start to code the logic behind syntax checking algorithm

The logic is as such:

* when we get a schema to validate, start by fetching from the cache the syntax
  report for this schema, from the root;
* if the report says the current pointer we have been fed with was _not_
  checked, issue a new validation for the same schema, at this pointer.

This is not ideal: if we get afterwards another pointer below the first one, we
will trigger another validation.

Signed-off-by: Francis Galiegue <fgaliegue@gmail.com>