Autotest ONIE

This is beginning of the testing framework for ONIE.

At the moment, it provides just the groundwork:
* Parameter validation
* Dynamic module loading
* Dynamic test definitions
* Basic documentation
You don't need a separate function for each module (unless you want to do some additional module specific stuff here). You could simply take in name of the module to import and try to import it. For arriving at the exact `module` name you use a mapping (like you do currently).