Bug 1070845 - [sharedtest] unit test refactoring for new version chai.assert api (rebased)

test_agent used very old version chai library version=0.5.3 in the current version=1.9.1 deepEqua
if we use real promises here, then the asynchronous will kill your attempt to use try/catch.

Here is how you can do it instead:
```js
function check(promise) {
  return promise.then(onResolve, onReject);
}

Promise.all([
  check(ImageUtils.resizeAndCropToCover()),
  check(ImageUtils.resizeAndCropToCover('not a blob')),
  check(ImageUtils.resizeAndCropToCover(self.inputBlob)),
  ...
]).then(done, done);
```

Using this, we won't be able to show all errors (Promise.all stops at the first rejection) but I think it's good enough for unit tests.