Added type constructore TyLiteral of int.
Arithmetic permissions are now parsed.

Still very primitive. The only possible formulas
are "e bop e" where e is either a constant integer
or a variable, and bop is an infix operator.
Defined some operators to be used inside formulas.

For now, all operators start with the '~' character.
Arithmetic permissions can be now subtracted.

For now, the subtraction is always possible.
An arithmetic TyApp in a permission is recognized based on
the first characters of the function.
Moved some functions about arithmetic to a new file.
Just added Why3 package to the compilation process.

From now on, this branch requires Why3.
Added the Why3 logic to check arithmetic permissions.

For this commit, all arithmetic TyApp are translated
to the Why3 term t_true.
The next step is to do an actual translation.
Removed the necessity of '~' at parsing.
Added [VarMapModulo] in [TypeCore].

This [VarMap] takes into account the actual state of the
union-find algorithm.
Basic support of arithmetic permissions.

[Arith] does something, now.
Added a [why3env] directly into the functor [ArithChecker].
Merge branch 'master' into arith

Conflicts:
	src/_tags
Added support for passing integers to functions.
Updated test suite.
Added support for negative literals in arithmetic permissions.
Fixed a bug in the merge of two [TyApp].

Still buggy though.
Be smarter when merging type applications.

If two [perm] parameters of a type application disagree, when merging the two
type applications, assuming we're in covariant position, we can still choose to
merge the parameter as "empty".
Added a test for conditionals with arithmetic.
Added a new judgement, [JArith].
Slightly changed the way equality is handled.