Add async.nextTick browser fallback to setImmediate

This adds the nextTick fallback for browsers to support
the proposed setImmediate interface, which is similar
to process.nextTick in browsers that support it, or on
sites that implement a shim for setImmediate before
loading async.
`waterfall` now passes all arguments to callback even if there was an error.
Altered prevention to avoid repeat auto tasks

This occurs when two or more tasks both depend on a single other task and have
their listeners registered. When the required task finishes, it iterates
through the listeners and calls them. If the first of the listeners executes its
task and that task finishes immediately, it too begins to iterate through
potential tasks to call and calls the other dependent task. Assuming this other
task does not finish immediately, the call rewinds to the original task, which
continues its iteration through the listeners. The listener that was removed is
still present in this scope, and so the task is called a second time.
Fix typo in documentation
Expose memoized function's memos

Add a `memo` property to the return value of `async.memoize` (the
memoized function) to expose the collection of already-calculated
values.
Add documentation for exposed memoized memos (3405799)
Add test for exposed memoized memos (3405799)
Add missing 'err' parameter to example of async.parallel in README
Delete trailing commas in lists of README examples

Some, if not all, versions of IE will fail on trailing commas. I don't know, but it might be a problem for some other JS engines as well.
fix running in --use-strict mode. closes #189
In #forEach and queue's worker calling the callback more than once causes bad behavior. Throw an Error when this happens.
Adding mapLimit
Correct minor typo
Renaming forEachLimit to _forEachLimit, adding mapLimit tests
Adding built file
added doWhilst and doUntil
added post loop docs
Added parallelLimit().
Don't ship dot files with the npm package
cargo can process multitasks(upto payload) each time