blacklist problematic DOM property names

fixes https://github.com/Polymer/platform/issues/88

Thoughts @sjmiles @sorvell ?

is that still the case? I tried to reproduce it, but maybe I goofed something:
http://jsperf.com/for-in-object-vs-keys-vs-cache

for...in was fastest on all browsers I tried (Chrome,FF,Safari).

Maybe we get different results after chaining the objects? I can definitely see that (e.g. firefox now has a warning about setting __proto__ messing up their VM optimizations). However this code path is before chaining.

Another thing to test would be if removing an item affects the speed noticeably.

Few other thoughts here:
* we already had for...in over prototype.publish at least 3 times in the code before my changes (all before chaining), including twice in the publishProperties method. Should we consolidate all of those?

* these maps are tiny, and this code path is only run once per class instead of once per instance. It doesn't seem like it could add up to a noticeable slowdown. My guess is this optimization originated to speed up instance/properties.js, which would make more sense (there might be 10k instances and instance creation is often on the hot path, e.g. displaying a big list). I asked @sorvell if we still needed optimizePropertyMaps and he didn't remember that it made any difference.