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
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.
Merge `removeMidExpressionNewlines` into `addImplicitIndentation`

and rename it to `normalizeLines`
Merge pull request #3111 from benbria/master

Issue #3092: Fix column numbers in sourcemaps to not be essentially random.
Make the REPL use the global context to be consistent with the node REPL.

This will make packages that modify prototypes - e.g. 'colors', 'sugar'
- work as expected.

To verify that the `node` REPL uses the global context, execute `global
=== module.exports.repl.context`.

Note: Tests pass, except `cluster.coffee`, which, however, failed even
before these modifications.
Amended - Make the REPL *CLI* use the global context so as to be consistent with the `node` REPL CLI.

(My apologies: In the previous commit I accidentally made `useGlobal:
yes` the default for _programmatic_ use also, but the intent was to
only do it for the stand-alone *CLI*.)

Make the REPL *CLI* use the global context so as to (a) be consistent
with the `node` REPL CLI and, therefore, (b) make packages that modify
native prototypes (such as 'colors' and 'sugar') work as expected.

Note that, by contrast, programmatic use (`require 'repl'`) will
continue to default to a NON-global context - again, consistent with
node's behavior.
Refactored inline-if into more readable multi-line statement.