[master] Remove the upper limit of hex digits in Unicode code point escapes

E.g. `'\u{00000000000000000001D306}' == '\u{1D306}'`. This was already implemented correctly for string literals, but the code for regular expressions only supported up to 6 hexadecimal digits. This patch fixes that and adds tests for this behavior. I’ve also added a comment that explains the downsides of the hacky way we test if a regular expression is valid (but AFAICT there is no reasonable other way to do it without implementing a full JS regexp parser in Esprima).

https://code.google.com/p/esprima/issues/detail?id=612

This is the patch for the **master** branch. See #294 for the patch for the harmony branch.