All commands now take directly a parameter parser

The command parameters description are now stored in a ParameterDesc
structure.
Add command switches information, and automatically display it
Consistently name -foo things 'switches'
Display command info only when the autoinfo option is true
Add a docstring to commands
Declare commands in a CommandDesc structure
tweak docstring
Add support for -buffer <comma separated names> to eval and exec commands

fixes #47
Add -docstring option to the 'def' command

used defined commands can have their own documentation strings
Add docstrings to some commands