System.register update

This includes the System.register update corresponding to the new format implemented into Traceur here - https://github.com/google/traceur-compiler/pull/1161.

All tests are passing!
We check the setters because an ES6 module can load a CommonJS module, which doesn't have setters.

The setters of the importer might not exist yet if we're in a circular declaration scenario, so we can't run a setter in this case either.

There may well be a better way of doing this though to reduce conditionals for each loop - if we just ensure `importers` is the right list to begin with. Let me see what I can do.