initial commit of unit tests
Fixes #162: Handle negated Grunt CLI options when adding to Lineman's CLI options
Merge pull request #163 from jayharris/issue-162

Fixes #162: Handle negated Grunt CLI options
0.18.2
Use a random port for spec-ci

https://github.com/testdouble/lineman/issues/100
Merge pull request #168 from benmoss/random-port-for-spec-ci

Use a random port for spec-ci
Simplify archetypes' `require` of lineman.

Got some feedback that the old way was a little
intimidating, this way will look a little less
scary, especially as plugins may need to require
the right lineman, and we want to establish this
in the archetype first if they're going to do that.
Merge branch 'master' of github.com:testdouble/lineman
Update testem
0.18.3
Implements basic plugin behavior.

Basically all this does is intercept the existing
"extend" function that all lineman apps call from
 config/application.js and config/files.js

When a user extends application (or files), Lineman
will first look for anything in config/plugins (first
built-ins, then in the user's project) and override
the config.

If a user creates a file `config/plugins/uglify.js`
and they export an object with `{ config: "Foo" }`, 
then the application config will be extended with 
`{ uglify: "Foo" }`. 

A few notes:

* If a plugin is multi-word then it'll be camelized
(e.g. foo-bar.js will apply its `config` property 
extended as `fooBar` unless a `name` property is 
exported
* A plugin can export a `files` property and override
any file patterns that it likes.
* If a plugin exports a function, it'll be invoked
and passed the result of `require('lineman')`, which
isn't a remarkably useful object but can get you access
to the default configs, Lineman's depended-on grunt,
and whatever libs we expose (currently just fileUtils).
Extract all the task configs to plugins
Loosen the "config" property of plugins 

As much as I like the idea of coaxing people into
keeping plugins named 1-to-1 with the task they're
overriding, it just creates a pain in the ass for
the cases where a plugin really needs to make general
changes to the app config (for example, 
appending/prepending tasks to the task lists)
adds support for plugins in external repos
Merge pull request #169 from testdouble/plugins

Add config plugins
0.19.0
Fixed asset fingerprint plugin
Merge pull request #171 from cojac/master

Fixed asset fingerprint plugin
0.19.1
Fixes the load order of plugin files

Order ought to be:

1. Plugins found in Lineman Core
2. Plugins found via depended-on modules
3. Plugins found within the client project

Meaning that client project trumps all and modules
override defaults.