Combined changes and test_argparse.py translation code

This branch includes the changes in the previous 6 pull requests, but also includes the code I used to generate a mocha test file from Python's test_argparse.py.  I don't know if any of this needs to be merged or not, except possibly the `test/test_argparse_mocha.js` file.

`test/test_argparse.py` is the test file for the python original.

`test/test_argparse_convert.py` writes as many test classes as it can to a `.json` file (76 'cases')

`test/test_argparse.coffee` can either run tests directly using that json data, or it can write to `stdout` an equivalent set of mocha compatible tests, `test/test_argparse_mocha.js`

There are 76 cases, with about 10 successs or failures each

Python tests that involve custom functions or classes, or use subparsers,
or groups have not been converted.