Rename internal functions, step -> task

To better reflect the right usage. Step is either a task or collection
of tasks, whereas a task is a single discrete unit of functionality.

Also added some logging around when steps are a collection of tasks in
verbose mode.
Rename lib/build.js to lib/dullard.js

Causes alllll sorts of fun
Add explicit test case for #30

Fixes #30, also cleaned up some other test cases
Merge pull request #31 from tivac/naming-refactor

Naming refactor & fix for #30