overrides native Map if entries() is undefined

relates to #1301
Make sure native symbols work

Do not overwrite the native Symbol if present.

Instead of enforcing that our shim symbols are non enumerable we
now generate code to filter out symbols for for-in loops. This allows
us to remove $traceurRuntime.setProperty since it is now OK to use
the standard browser [[Set]].

For the class runtime we need to iterate over the symbols too.

Fixes #1330