replacing assert.js with chai.js to get better error outputting and BDD/TDD style expect syntax, plus additional assert apis