One compiler, arrays, random useful stuff

* Creating a single compiler to unite them all, with .{ml,cmt}{,i} handling and funky arguments (provided by stdlib).
* Handling arrays through a special field of data
* Separation of .ocp into three different files:
  - anaylisis.ocp : the libs
  - src/driver/programs.ocp : the programs to build
  - test/tests.ocp : the tests
* A few modifs to .gitignore and Makefile
* Now following ocp-build.root
* data.expr is now a Set