Fixed a nasty bug where an error in Recorder.sync() could cause an infinite loop with data-goal tags.

The error callback to sync in BaseExperiment wasn't correctly implemented. It didn't cache the rewarded
variant, which meant the retriggering of the click event would attempt to reward and sync again... and again...
Updated data-bind to allow binding to the variant ID if the RHS of the binding formula is missing (for backwards compatibility).
Default Myna.debug to false
Log number of queued events when starting/finishing a sync
Added tests for Binder; added tests for other bugs fixed in this feature
Simplified Gruntfile; added grunt-contrib-watch support; default task rebuilds Jasmine specrunners but doesn't run specs (because they fail on PhantomJS currently)
Rebuilt v2.0.0
Merge branch 'feature/bind-unit-tests' into develop