Added buildLog config option so it can be configured from outside i.e. useful for running multiple optimization processes in same folder in parallel - otherwise you'll get an IO error
* Added support for following r.js options:
     [OptionList('i', "ignore", HelpText = "Ignore certain files or folders relative to the app path, separated by semicolon ;", Separator = ';')]
     public IList<string> Ignores { get; set; }

    [Option('o', "output", DefaultValue = "main-built.js", HelpText="Specify the name of the output combined and minified built file. Relative to the application source folder (-s option)")]
    public string OutputFileName { get; set; }

    [Option("buildFile", DefaultValue = "app.build.js", HelpText="Specify where the json configuration for r.js will be saved within this folder")]
    public string BuildFile { get; set; }

    [Option("mainEntry", DefaultValue = "main.js", HelpText = "Specify the main entry point file")]
    public string MainEntry { get; set; }

    [Option("name", DefaultValue = "main", HelpText = "Specify the module name")]
    public string ModuleName { get; set; }

    [Option("lang", Required = false, DefaultValue = "en", HelpText = "Specify the language to be replaced %LANG% paths on modules. You need to provide a custom configuration file first (-c) that has defined modules and we'll replace the %LANG% with this value in all the 'include' options of all the provided modules")]
    public string Lang { get; set; }

    [Option("preserveLicenseComments", DefaultValue = true, HelpText = "Specify false to remove the license comments")]
    public bool? PreserveLicenseComments { get; set; }

    [OptionList('r', "require", HelpText = "Default: main. Include extra requires separated by semicolon (;)", Separator = ';')]
    public IList<string> InsertRequire { get; set; }

    [OptionList('x', "exclude", HelpText = "Exclude certain modules i.e. if they were built before", Separator = ';')]
    public IList<string> Excludes { get; set; }

* %LANG% is very useful if you are targeting multi-language modules.
If used with -c yourConfigSource.js and in there define
modules: [{
  name: "main",
  include: [
    "durandal/*.js", //*.js from durandal folder only
    "main/**.js", //*.js from main folder and its sub-folders recursively
    "text!views/%LANG%/**.html", //*.html from i.e. views/en/*.html and its sub-folders recursively
  ],

* JSON can now be a javascript the same way r.js supports
i.e. modules.export = { JSON }
This is very useful b/c you won't get any errors while editing your configuration.js file in VS2012