Align to API structure plus general cleanup

I've done several things:

* Made the WHMCS base file add all files in the `modules` directory and instantiate them when creating a new client instead of manually doing them, this makes adding new modules easy
* Broke directory structure into `lib` and `modules`. `lib` contains the utils.js file and `modules` contains all the API definitions
* Did some code cleanup all over the place
* Aligned the various functions to match the expected required/optional arguments from the API
* Added support for fully optional parameters where necessary based off the API requirements