Don't fold 'new RegExp(foo)' to 'RegExp(foo)' unless foo is a string literal.

If foo is a RegExp, then 'RegExp(foo)' returns foo unchanged [0], whereas 'new RegExp(foo)' constructs a new RegExp with the same pattern as foo, but without foo's state [1].

Fixes issue 1260.

[0] http://www.ecma-international.org/ecma-262/5.1/#sec-15.10.3.1
[1] http://www.ecma-international.org/ecma-262/5.1/#sec-15.10.4.1
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=62500407
Resubmit of "Handle constructor aliases better for commonjs modules."
Fixes issue 1244
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=62536114