Add missing license header to DefineClassMapInheritance.java
Remove invalid UTF-8 encoded unicode replacement characters (EF BF BD)
Add missing entries
Bug 772011: Decompiler does not add curly brackets for labelled statements
Add fix for bug-772833 (comment copied over from Parser::condExpr1 in frontend/Parser.cpp)
Fix bug 686806:
- trailing commas aren't allowed in object/array literals per JSON spec
- avoid using Integer.parseInt() to parse unicode escape sequences since parseInt() also accepts non-ASCII digits
- also avoid using Character.isDigit() in readNumber() for the very same reason
- readString() always created a StringBuilder instance to collect the input data, obviously this is actually only necessary when the input contains escaped characters. Therefore I've changed readString() to take the same approach as used in jsonparser.cpp
- the JSON number specification is stricter than Double.parseDouble(), for example Double.parseDouble() accepts the input string '10.'. To ensure only valid JSON number literals are passed to Double.parseDouble(), readNumber() was refactored to perform the necessary input validation.
Merge remote-tracking branch 'anba/bug-772833'
Merge remote-tracking branch 'anba/bug-686806'
Patch for bug 774083.

- restructure console input/output to re-enable JLine support
- JLine 1.0 as well as JLine 2.7 are now supported
- ShellConsole provides the necessary abstraction layer for the input/output operations
- since ShellLine is no longer needed, it has been deprecated
Patch for Bug 688023:

- replace wrong `instanceof Block` tests with `getType() == Token.BLOCK`
- add indentation for non-braced if-statements resp. else-statements
Fix broken test cases which relied on the old (and erroneous) toSource() output
Patch bug 685403

ContinuationPending exceptions shouldn't be handled/available in js-code at all,
this includes catch-blocks as well as finally-blocks.
Patch for bug 637811:

LabeledStatement uses EXPR_VOID as its type, that means AstNode#hasSideEffects() uses the default case (=> it returns false). So every labelled statement gets the "code has no side effects" warning, which is clearly wrong.
Fix bug 773573: Search for first curly bracket after closing parentheses to take account of object destructuring parameters
Simple doctest for bug 773573
Array.prototype.sort performed an unchecked cast from long to int without any overflow checks, this may result in a negative length which then throws a NegativeArraySizeException in Java, cf. js1_5/Array/regress-157652.js . A similar problem was found in NativeJSON, so I've handled that as well
Add explicit cast to int to ensure previous behaviour is retained
Calls must not be special-calls and reference-calls at the same time, cf. js1_5/Regress/regress-319391.js for a test case
Enable js1_5/Regress/regress-319391.js for MozillaSuiteTest
Patch for Bug 728286

Not-defined and undefined elements are sorted to the end, cf. Array.prototype.sort [15.4.4.11] the SortCompare abstract operation steps 3-12. The previous implementation had two bugs:
- same references (per Java == operator) were never compared
- not-defined and undefined elements were treated as equal elements, although not-defined elements must appear after undefined elements in the sorted array