Nodemon refactor & JSON config

* [ ] Ready to be merged

This is the start of a complete restructuring of nodemon's source code, since currently it's a massive one script which can be difficult to test (and frankly the tests are limited right now) and difficult to contribute to.

So I'm breaking all the functionality down to small modules.

Key features of the new work:

* [ ] All modules are testable and *have* tests
* [ ] JSON support looking for `.nodemon` with overriding defaults kept in `~/.nodemon`. The JSON file will allow for all command line options to be stored in JSON
* [ ] Better, safer, parsing of command line args
* [ ] Test, test, test!

The whole code base is getting gutted, but I'm wary of making sure that the actual code gets carried across (because I know there's been a lot of fixes for Windows and edge cases).  

Right now, the code is not in a good state, I'm still the file up, but I'm up for contributions, particularly to test modules.

I'm using @mwbrooks' and @filmaj's slides from their experience building the Cordova & PhoneGap CLI as inspiration: http://michaelbrooks.ca/deck/2013-node-brigade/