Re-do browser build via browserify

See #45 for more details.

This is almost a full rewrite of this module, but it does a lot of cleanup and breaks apart the module into multiple logical files. There wasn't so much code rewritten as much as there was code shuffled around.

For the browser build, we can commit the pre-compiled browserify files into the `dist` dir. The Makefile is currently set up to build 3 different versions to choose from:

 * `plist-build.js` - Contains just the `plist.build()` function.
 * `plist-parse.js` - Contains just the Plist parse functions (`parse()`, `parseString()`, `parseStringSync()`)
 * `plist.js` - Contains all the exports. Similar to `require('plist')` in Node.js, except that `parseFile()` and `parseFileSync()` do no exist (there's no filesystem in the browser)

Any thoughts before merging?