Replace should with chai

Chai is mostly compatible with should, but extensible with plugins. This makes assertions on sinon's spys and stubs easier to read and provides better error messages on failing tests as well.