add core-icon* and port examples

This also adds extra config info to the code generator, and refactors it to allow more stuff if we need it. The new option allows it to omit an import from the generated code.

A few TODOs here:
* .jsElement.callMethod pattern appears in a few places. I'm going to look at fixing methods generally.
* we might want to add HTML import redirects for the HTML files in packages/core_elements/src/core-icons/iconsets/, but I'm not 100% sure yet.

R= @sigmundch @justinfagnani 

regarding:

> ... The future itself is already associated with the Polymer Zone, so no need to run it inside the zone.

I don't think Polymer.onReady runs the callback in the zone. My understanding is that the zone that will capture the callback is the zone that happens to exist when you call `then`.