use customPropertyNames property directly instead of get* function
refactor numerous modules to simplify and optimize reflection code
remove 'tools' submodule in favor of parent-peer
remove 'tools' submodule in favor of parent-peer
use static mocha/chai for local tests
optimize iterations by caching keylist for publish and observe maps
Merge branch 'master' into optimize-reflection
update test
micro-optimizations and code reductions
tweak comment
Merge branch 'master' into optimize-reflection

Conflicts:
	src/declaration/polymer-element.js
	test/html/attr-mustache.html
	test/html/bind-object-repeat.html
	test/html/callbacks.html
	test/html/element-import.html
	test/html/element-registration.html
	test/html/element-script.html
	test/html/event-path-declarative.html
	test/html/event-path.html
	test/html/mdv-syntax.html
	test/html/parser-rules-import.html
	test/html/parser-rules.html
	test/html/prop-attr-reflection.html
	test/html/prop-bind-oo.html
	test/html/publish-attributes.html
	test/html/styling/apply-reset-styles.html
	test/html/styling/sheet-main-doc.html
	test/html/styling/sheet-order.html
	test/html/styling/sheet-scope.html
	test/html/take-attributes.html
	test/html/template-distribute-dynamic.html
	test/html/unbind.html
	test/runner.html
Normalize inheritance systems, standardize chainObject, and implement a version for IE
Merge branch 'optimize-reflection' of https://github.com/Polymer/polymer into optimize-reflection
fix merge mistake
remover console warning.