Build JS bundles before Django unit tests

This fixes an issue where running `./scripts/test.sh` without first running
`./scripts/npm.sh run build` would result in an error.
Upgrade factor-bundle to 2.3.3

This fixes a bug where the common bundle would generate different output
when executed via the gulp watch command.
Add testem, mocha, and chai

I added the latest versions of mocha and chai for JS unit testing.

The target version for testem is slightly older (0.5.15) because the
latest version would not detect file changes when run inside a VM.
Update shrinkwrap

No changes.
Add JS test harness