Improve randint() and srandint(), add randchoice() and srandchoice().

* Improve randint() et srandint():
  + return sympy integers
  + add `exclude` keyword to exclude some values.
* Add functions randchoice() and srandchoice()
* Change behaviour of #? tag (don't display '=0' if last value was zero).
Restrict default seed range, to enable manually recovery of a past seed.

When generating a document with random values for an exam,
it's useful to keep track of seed to generate a document with the answer.

Best way to do that is to manually choose seed, so the same pseudo-random
values will be generated in both documents.

However, it was much too easy to forget to choose seed.
Then, since there are billions of billions of possible seeds, it was
impossible to guess which seed was used.

To prevent this, seed range is now restricted by default to 100 000
different possibilities, which is largely enough for practical purpose,
and still enables to guess used seed in a few seconds on a modern
computer (by running a few lines of python code in interpreter).
[Early stages] New ptyx implementation.

Diclaimer: code is absolutely unusable in present state ! ;)
Clean up temp code.
First (almost) complete implementation of SyntaxTreeGenerator.

Nodes are used instead of lists.
SyntaxTreeGenerator is working now.

Add first unit tests.
First functional version of LatexGenerator.

More tests needed though.
Don't parse #PYTHON ... #END content.
First complete prototype.
Port pTyX 1.0 last enhancements to pTyX 2.0.
Numerous fixes and code improvements. Add #CALC tag too.
Old ptyx.py is renamed ptyx1.py.
New ptyx2.py is renamed ptyx.py
Several small fixes.

* Convert to str before joining contex['LATEX'] items.
* Fixes #SHUFFLE issues.
* Remove new line before #END tag.
Fix #PICK tag. Add test.
Rewrite conditional blocks handling.

New code is much clear, and fixes several subtle bugs involving #ELSE.
Add tests and many code comments.