Exit with 0 on success rather than None
Improved structure of unit tests

CliRun() function allows CLI arguments to be given as separate
arguments rather than a list.