Start to Tests, Grunt, Karma, Concatenation, Bower, Node server instead of php.

I did a lot here, and while I didn't change the code of the directive at all, I did change it a lot. It is now broken into separate files and there is a grunt task to concatenate them for distribution. The distributed file is in the root directory. It is pdx-tree.js, I should probably also add a minify task and create a pdx-tree.min.js.

I was intending to test all the directives, but I for the life of me cannot figure out a good way to do it. The way we change and compile the scopes in order to make the directive work correctly makes juggling those changes in a test a nightmare. Perhaps with your understanding of how and why the scopes interact as they do, you'll be able to pick up my starter tests and figure it out.

- Grunt Karma to run tests.
- Wrote full tests for PdxTreeChildManagerService
- Broke apart objects into multiple files.
- Grunt concat to build them into a distributable source
- Jshint to ignore things like 'describe' and 'angular'
- Changed the example to work off of a grunt-contrib-connect server
- Wrote basic documentation in the README.md for development tasks.
- Updated bower config to get us closer to a publishable package.