Major restructure, v2.0.0

I've torn out all the ESpeak code and put it into its own file so that we can work with the meSpeak.js code without having the 80k lines standing in the way of everything.

The actual meSpeak code has also been restructured to make full use of CommonJS modules, and I also ran a beautify script on it to make everything consistent (it's all tabs now).

loadVoice and loadConfig both optionally take objects now, and I think that it might make sense to have loadConfig just get called automagically on load since nobody is ever going to bother creating a different config by the looks of it. 

HttpRequest is respecting callbacks when throwing an error in node. I'm also thinking that it'd make sense to factor this out and anything to do with it into its own file as well.

Other than that, the API is the same, and the up-to-date code is working just fine on node.

I'll eventually update the readme to show the latest meSpeak.js API options.