extract GeneratesHtml
extract GeneratesRss
extract WritesFile
extract Layout
extract Site
extract Page
extract Post
extract MarkdownTask
remove unused modules
mix-in underscore.string into the _ available within templates
Merge branch 'extract-lib'

* extract-lib:
  mix-in underscore.string into the _ available within templates
  remove unused modules
  extract MarkdownTask
  extract Post
  extract Page
  extract Site
  extract Layout
  extract WritesFile
  extract GeneratesRss
  extract GeneratesHtml
only require the task deps when the task is run

alleviate the grunt startup cost. the task deps only need to be required
if the task is actually being run. so only require them within the task
itself. this way, when grunt starts up, the deps aren't required if the
task isn't invoked