Refactored and added a few useful features.

I refactored and cleaned everything up. I also added a couple useful features. 


* Ensured there were no more global memory leaks
* Added defaults to the initializer variables. The default host is `localhost` and the default port is `8125`
* Added prefix and suffix to class to allow users to specify what the name of each stat will start and end with.  This allows for things like `<environment>.<project>.<stat>.<machine-name>` and other templates.
* Added a globalize function that gives the user the option to make this instance of statsd global
* Standardized all functions to take a `stat`, `value`, `sampleRate` (optional), and `callback` (optional)
* Added an optional `callback` to each of the functions that will get called when the message is successfully sent
* Standardized on camel case in accordance with the JS recommended style guide
* Added a default value of `1` for increments and `-1` for decrements
* Added an alias of `unique` to `set` as set is rather ambiguous
* Removed `mersenne` dependency as V8s `Math.random()` is faster and still provides an even distribution. For sampling purposes this is sufficient, we don't need cryptographic security or seeds here.
* Added full JSDoc style comments to all methods.
* Added a full test suite with full coverage
* Updated `travis.yml` to run the test suite
* Updated the package.json to bump the version
* Updated the package.json to add myself as a contributor :)
* Updated the package.json to remove OS pinning as we should not prevent someone from installing the package unless we know for a fact is doesn't work on that OS.  I tested in several versions of linux and windows.
* Did some more cleaning up of code
* Move the main file to `index.js` as this is the community standard