Adding the NoderExportVars visitor for atpackager to export local variables.
v1.2.1
Using #sourceURL instead of @sourceURL.
Removing resolve and reject from the object returned by defer.promise()
Allowing to pass arguments to preprocessors.
New design for documentation website
Updating the documentation links in order to let them point to the new website noder-js.ariatemplates.com
Updating atpackager dependency.
1.2.2
Clarifying the promise API (non-backward compatible).

This commit introduces a clear (non-backward compatible) distinction
between a defer and a promise.

Here was the previous way of using the promise library (before this commit):

  var promise = require("noder-js/promise");
  var myTimeout = function (delay) {
    var defer = promise(); // this promise function actually returns a defer
    // which can also be used as a promise
    var res = defer.promise(); // and this one returns a true promise
    setTimeout(function () {
      defer.resolve();
    }, delay);
    return res;
  };

In the previous example, defer and res are very similar objects.
The only difference is that res does not have the resolve and reject methods.
Both defer and res are usable as promise objects, but defer should not be used
as a promise, as it would expose the resolve and reject methods which are
not supposed to be exposed. But it is easy to forget to call defer.promise()
and to return defer instead, by mistake.

This commit removes most of the methods of the defer object, so that
it can no longer be used as a promise. It now only has the resolve
and reject methods along with a promise property containing the object
to be used as a promise, so that it is mandatory to use the real promise
object. Moreover, the method to create a defer is now called promise.defer.

Here is the new way of using the promise library (starting with this commit):

  var promise = require("noder-js/promise");
  var myTimeout = function (delay) {
    var defer = promise.defer(); // promise is no longer a function
    var res = defer.promise; // promise is no longer a method on the defer object
    setTimeout(function () {
      defer.resolve();
    }, delay);
    return res;
  };

This commit also removes some non-standard methods on promise objects, such as:
done, fail, doneSync, failSync and state.

The remaining methods are the following ones:
then, thenSync, always, end and result

This commit also adds the following methods (to replace the state method):
isResolved and isRejected
1.3.0
acorn is now called on the unmodified source file to report errors.

This commit fixes an issue with the error message reporting syntax errors.

For example, with the following myModule.js file (containing 3 lines):

    // The following line intentionally contains an error
    myError.
    // there should be something after the dot

The reported error contained:

   Error: Unexpected token in 'myModule.js' (line 5, column 0):
   })
   ^-
   failed to load definition of module 'myModule.js'
   failed to preload 'myModule.js'

The error is line 5 whereas the source file only contains 3 lines.
That's because noder wraps the code in a function (making the file
larger than 3 lines).

This commit fixes this issue by making sure the code passed to acorn
to validate the syntax is only the source code, without the wrapping
function.

close #10
Fixing the encoding issue with the minified version of noder.dev.js
Simplifying the use of asyncRequire.

When not using relative paths, it is now possible to do:

  var asyncRequire = require("noder-js/asyncRequire");
  asyncRequire("myModule").then(function(myModule){...})

The previous way still works:

  var asyncRequire = require("noder-js/asyncRequire").create(module);
  asyncRequire("myModule").then(function(myModule){...})

When using relative paths, it is now possible to do:

  var asyncRequire = require("noder-js/asyncRequire");
  asyncRequire(require.resolve("./myModule")).then(function(myModule){...});

The previous way still works:

  var asyncRequire = require("noder-js/asyncRequire").create(module);
  asyncRequire("./myModule").then(function(myModule){...});

However, the following use case should be avoided:

  var asyncRequire = require("noder-js/asyncRequire");
  asyncRequire("./myModule").then(function(myModule){...});

because then, the path is not relative to the current module, but
to another (unspecified) one.

close #9
DOC: adding a yaml header to md files.
DOC: fixing highlighting.
DOC: allowing to use %NODERJSVERSION% in .md and .html files.
DOC: only updating documentation site when pushing to the stable branch.
DOC: adding Google Analytics.
Adding a grunt task to create the noder-browser.zip file.