autoInject - dependency injection for auto.

Dependency injection support for auto, for better readability of task graphs.

async.autoInject({
    template: function(cb) { fs.readFile(templateFilename, cb); },
    serverData: function(cb) { http.get(dataUrl, cb); },
    templateData: function(cb, serverData) { formatDataForTemplating(serverData, cb); },
    appliedTemplate: function(cb, template, templateData) { mustache.to_html(template.toString(), templateData, cb); }
}, function(err, appliedTemplate) {
    if (err) return handleError(err);
    Serve(appliedTemplate);
});