simplify the session code by giving an id to each exo and lesson
remove a broken good idea: lessons cannot be made sequential anymore
Introduce a session DB containing all the student work

- This is now separated from exercise and lesson pseudo-DB for sake of
  code simplicity
- For now, this DB only contains whether the exercise was passed or
  not. I'll convert the source code later on
- The success status is now stored separately for all languages
Kill another seamingly good idea: uneditable source files

This may have been interesting in the case where you have to add an
hidden class to the compilation process (such as an exception).

But we need to simplify the code base so the student will see that
code -- sorry.
Yet another seamingly good idea: aliased source files

This used to allow to share a source code between exercises. I fear
that the students will need to learn about the Ctrl-C/Ctrl-V instead.