Introduce Chart#layer

Privitize Chart's collection of layers and provide an API for accessing
it.
Extend Layer constructor to accept event handlers
Begin support for layer ordering
Fixing this,_layersList to this._layersList & adding initialization of this._layersList to an empty array in the chart constructor. 
Also removed testing for this.layers in the chart constructor tests, since it has been made private.
fixing jshint errors
added chart#layer tests
Merge pull request #4 from iros/chart-layer-tests

added chart#layer tests
Remove references to chart internals from tests
Added watch task to grunt file.
Merge branch 'chart-layer' of github.com:misoproject/d3.chart into chart-layer
added event testing when binding events during definition using  property
Merge branch 'chart-layer' into chart-layer-tests
refactoring chart#layer to use setup method for base, chart and layer.
removing layer array cache for order purposes.
removing unused mixin vars
Added chart events: chart#on, chart#once, chart#off, chart#trigger and corresponding tests.
Merge pull request #6 from iros/chart-events

Added chart events
added release versions of d3.chart. They now live in the root of the repo. The dist folder is kept for development builds. There are now two separate build tasks: grunt (default) will build into dist, and grunt (release) will replace the root folder builds.
only trigger events if there are listeners defined
Remove outdated "TODO" comment

This functionality is not actually necessary.