ignore: update ignore files for component support
deps: add component and mocha-phantomjs for browser testing
test: add mochaPhantomJS support and component test file
makefile: refactor for fine grain control of testing scenarios
component: add component.json file
browser: build
Merge branch 'feature/component'

* feature/component:
  browser: build
  component: add component.json file
  makefile: refactor for fine grain control of testing scenarios
  test: add mochaPhantomJS support and component test file
  deps: add component and mocha-phantomjs for browser testing
  ignore: update ignore files for component support
util: add cross-browser type detection utility
core/assertions: [type] (a/an) refactor to use type detection utility
test: [expect] add arguments type detection test
makefile: chai.js is .PHONY so it builds every time
browser: build
Merge branch 'refactor/typeDetection'

* refactor/typeDetection:
  browser: build
  makefile: chai.js is .PHONY so it builds every time
  test: [expect] add arguments type detection test
  core/assertions: [type] (a/an) refactor to use type detection utility
  util: add cross-browser type detection utility
assertions: [throw] code cleanup
component: fix build bug where missing util:type file
makefile: refactor for full build scenarios
util: [objDisplay] normalize output of functions
assertions: refactor some assertions to use objDisplay instead of inspect
test: [bootstrap] normalize boostrap across all test scenarios
tests: refactor some tests to support new objDisplay output