Mocha testing framework

@imlucas 
1. Modified index.js to make it behave as a importable module
2. Created test/testUtil.js containing helper methods(setUp, tearDown, etc) that are used by different test cases
3. Wrote a template in empty.js that uses Mocha's testing logic (e.g. before, after, etc.)
4. Fixed a bug that prevents the program from exiting if size of data to generate is zero

If the structuring of the test looks good, I can write up more test cases :) 
Thanks!
Avoid using dangling underscores for privates.