toolcontext: add `usage` and `tooldescription`

Signed-off-by: Jean Privat <jean@pryen.org>
toolcontext: process_option honors --help, --version and checks options errors

Signed-off-by: Jean Privat <jean@pryen.org>
toolcontext: add the flag `accept_no_arguments`

Signed-off-by: Jean Privat <jean@pryen.org>
src: update tools to the new toolcontext helpers on option processing

Specify a tooldescription
Get rid of manual management of most arguments error

Signed-off-by: Jean Privat <jean@pryen.org>
tests: update sav/ for tools

Signed-off-by: Jean Privat <jean@pryen.org>
toolcontext: `process_options` require arguments.

Having it to access directly `sys.args` broke some isolation concerns.

This commit also updates all tools to avoid breakage.

Signed-off-by: Jean Privat <jean@pryen.org>
Merge: Toolcontext process options

improve `ToolContext::process_options`.
This factorizes code and reduces the number of buggy corner-case

The second PR of the #353 series

Pull-Request: #356