Fix #1397: Better IR-checks for exported methods

Added checks:
- Exported name does not contain `__`
- Exported method is not static
Merge pull request #1398 from gzm0/ir-check-export-name

Fix #1397: Better IR-checks for exported methods
Remove RoughClassInfo.

The only usage of rought info was in the Rhino environment,
which is super slow anyway. So it might as well use the full
info.
Remove ClassInfo.name.

It can always be recovered by decoding the encodedName, and is
virtually never useful anyway.
Move OptimizerHints from the Infos to the Trees.
Add abstract methods to the trees in the IR.
Give separate info to each exported method/property.

Previously, the info of all exported methods and properties
were gathered in one single pseudo-method. Now, each exported
method/property has its own exported method in the infos
(undef its exported name).

For exported constructors, they are all gathered in one single
pseudo-method called __exportedInits.