Make API a bit clearer
We can specify what positional arguments are required and retrieve them by name
Reorganize packages to clarify API entry point
Reorganize test packages accordingly
Rename ArgsBuilder to ArgsSpecification
Help message now includes program name, version, description, ending and proper usage