Initial implementation of View Manager.

Another PR will be created for the "axiom-shell" repo to use these changes.

Comments welcome.

One thing I don't like is that the vulcanized file are generated "in place" in the "lib" folder. I could not figure out a better way without having to copy the whole "polymer" directory to "out" before invoking vulcanize.

Another unfortunate thing is that the grunt "build" task takes much longer that it used to be because it runs a "bower install" every time.

@rginda 

I'd really like to see these assertion functions either pulled out into a lib/axiom/util/assert module, or use one of the off-the-shelf assertion libraries.