power operator + tests
fix the precedence test so it's actually meaningful
Merge branch 'power-operator' of git://github.com/charliesome/coffee-script into more-math-operators

Conflicts:
	src/nodes.coffee
	test/operators.coffee
Make power operator compilation use proper AST nodes
Make power operator have higher precedence than unary operators: +, -, ~, !
Add floor division `//` and modulo `%%` operators, and compound forms of the new operators

Also kill the empty regex :(
Add power operator to the list of tokens that force a line continuation if they appear at the end of a line
Fix #1069. Non-callable literals shouldn't compile
Fix #2953. Method calls on splice endpoints
parallelized script loading in browser, yet order remain
remove logic redundancy
simplify logic and changing less from before
rebuild for PR #3012
Update compiled JS
Merge pull request #3094 from epidemian/compile-js

Update compiled JS
Disallow single-line `IF expr ELSE` without `THEN`

* Supplement missing block before `ELSE` token only for multi-line `if`.
* Don't prematurely remove `TERMINATOR` before `ELSE` (so we can  differentiate single- and multi-line forms).
* Cleanup: Remove `WHEN` from `EXPRESSION_CLOSE`. (Only `LEADING_WHEN` tokens are preceded by a `TERMINATOR`.)
* Cleanup: Remove really old, inapplicable text from comment.
Fix multi-line if-else in single-line expression.

* When searching for the closing token of a single-line expression, ignore TERMINATORS that will subsequently be removed.
* Add a test.
Change how error messages are shown

Instead of throwing the syntax errors with their source file location and needing to then catch them and call a `prettyErrorMessage` function in order to get the formatted error message, now syntax errors know how to pretty-print themselves (their `toString` method gets overridden).

An intermediate `catch` & re-`throw` is needed at the level of `CoffeeScript.compile` and friends. But the benefit of this approach is that now libraries that use the `CoffeeScript` object directly don't need to bother catching the possible compilation errors and calling a special function in order to get the nice error messages; they can just print the error itself (or let it bubble up) and the error will know how to pretty-print itself.
Override the SyntaxError's "stack" property instead of deleting it

This makes the "stack" property more useful when it's shown on other Node.js applications that compile CoffeeScript (e.g. testing libraries) and should fix #3023. A minimal example:

    $ node -e 'require("coffee-script").compile("class class")'

    /usr/lib/node_modules/coffee-script/lib/coffee-script/coffee-script.js:41
            throw err;
                  ^
    [stdin]:1:7: error: unexpected CLASS
    class class
          ^^^^^
Merge `removeMidExpressionNewlines` into `addImplicitIndentation`

and rename it to `normalizeLines`