Adding cli config option. Mostly copied from Lineman.

Fixes #23.
Slightly better (maybe) instructions.
Fixes #11. just dumps `config` on the cabbage export.
Defer any execution in config.coffee

If it's simply required, too much gets cached and it can result in an
unreliable config tree being built. This change makes it maximally 
reliable and also the slowest.
Make config command testable, add first test
Fix a bunch of test problems

addFile was using `after` inside a `beforeEach` which is clearly not
rolling up correctly. Created a new `Around` hook instead which must
return a function and that'll be called on an `afterEach` (while the 
passed function will be called on a `beforeEach`
Write a test for user overrides

Quite awesomely, this forced me to ensure that user config can be 
changed without restarting the process. This means anywhere we use
`userRequire()`, we can be relatively confident that the user won't need
to restart their dev server.
Whoops
Export a config function (so it's refreshable)

Also, may as well export the version that can take a property path and
give the user a subtree.

Resolves #11
Merge pull request #37 from cabbagejs/adding-cli-config#23

Adding cli config option. Mostly copied from Lineman.