Override the default --help message for why3.

Also be more consistent when using stdout/stderr.
Hack to prevent eval-match from decomposing quantified records

  This is to prevent quantified records from being decomposed by
  eval_match. e.g, assert { forall x:t. ... } was previously
  transformed to assert { forall x1:t1, x2:t2, x3:t3. ... } if x was
  a record type with fields x1,x2,x3. This changed the
  instantiation pattern, which could be harmful.
Repairing few sessions
Makefile: separate why3 from why3contraption
main: use Args for common options

Also:
- don't count "" and "contraption" as available commands
- pass every option except the command name to the command
- provide an option for extended help message
move Args inside Whyconf
use Whyconf.Args in why3ide and why3doc

- make Whyconf.Args.initialize return the base config file, too.
  This is needed when we change configuration and want to save it.
- make Main pass "why3 <command>" as argv[0]
- remove "-version" options from everything but the main executable
bash completion
support for CVC4 1.4
cleaning up
no more Vampire in red-black trees example
[Detect] correct cvc4 `exec` order

     The order of the `exec` is the priority order for being the
shortcut. cvc4 should point to the latest or cvc4 if present
[Examples] topological sorting static algorithm
[Examples] topological sort online basic algorithm

    - only add_edge operation
[Theory] add sum of a container following a finite set
[Session] do not print the filename of the session in the asciitree

  because it is not part of the content of the file, and disallows
  simple diffing
tptp: update parser for TPTP 6.1
FsetInduction.Induction is valid whatever p, so change it to a lemma.
remove why3bench and comparison, subsumed by why3session bench
move why3config to src/tools/