Change methods signature to fit with the go style
Add structure instantation a la go
Modify AddOption AddSwitch and AddCommand panic instead of return errors
Update tests to AddOption and AddSwitch
Add empty flag definitions check
Clean tests
Modify command functions to add leftovers as parameter