Remove keywords array to simplify logic

It added clutter and noise to understanding what was happening, for no
real benefit, so removed.
Cleanup and tidy

Remove some old debug prints and switch all the forEach's to use _.each.
Simplify logic in depconcat_order_files

Pare down the number of times needed to iterate through the dependencies
so that it is done in one pass. This also means we don't need to store
the entire dependency graph outside of in string form.

Also got most lines under 80 characters in length.
Add error log for cyclic dependencies

When tsort detects a cycle in the dependency graph, it still outputs an
ordering, but also prints and error to STDERR stating the cycle. We pass
this along through to grunt.log.error.
Update to support grunt 0.3.17. Closes #3.

Bump grunt up to v0.3.17, and along the way:

  * Adds 'use strict'
  * Remove use of deprecated `grunt.registerHelper`
Update to support grunt 0.4.0rc8. Closes #4.
Bump version to 0.1.2rc1 and publish to npm
Merge branch 'release-v0.1.2rc1'