Fix `npm start` to run default task and --force
Move execution tasks out of tasks/buster.js
Add getArguments and getConfigSection to own module
Move shouldRunServer to config module
Formatting / whitespace
Add some elementary core tests
Add tests for specialized run functions
Test that browser tests are properly executed

 * Start the Buster server
 * Start PhantomJS
 * Run the Buster tests
Change test description
Add `args` to task context
Move stop function to `cmd` for easy stubbing
Move requires to the top
Use `when/sequence` for running test tasks
Add config function for opting in/out phantomjs
`cmd.stop` doesn't have to be async

The function doesn't need to call any callbacks and should not be
concerned about any `done` continuations.
Test `cmd.stop` and get grunt via require
Change relative `phantom.js` path

`config.js` and `phantom.js` are now both in the same directory.
Remove `grunt` arguments and use `require`
Merge pull request #22 from busterjs/core-refactor

Core refactor