Refactor how command line options are handled by Leon
Refactor how command line options are handled by Leon

- Command line option definitions are now represented by a type
  parametric class.
- Components can declare legal option definitions.
- Options are parsed according to those definitions in Main,
  and stored in LeonContext.
- Components can then retrieve back the options from LeonContext.
  This is not perfect, as it requires some type casts.
- leon.Settings only contained redundant information and has been
  removed.
- Unused options from SynthesisSettings have been removed.

epfl-lara/stainless,epfl-lara/stainless,epfl-lara/stainless,epfl-lara/stainless