use otags to build tags
explicit representation of clauses, with private algebraic type
changed interface of Index, with a single function to add/update/remove data attached
to a literal. This function operates modulo alpha-renaming.
update of datalog.mli to go with previous commits