grunt: Adding task js
Build: Fix JS dependencies
reduceScope: Remove necessity for widgets that wish to use scope reduction to have to depend on those widgets whose scope they wish to reduce.
Unit tests: Fixed paths to get tests to run with grunt