Throw `new Error(msg)` for expect uniphil/results

...instead of just throwing the payload directly. This improves twot things:

  1. It's nicer to use. myThing.expect('should have blah') instead of
    myThing.expect(new Error('should have blah')).

  2. It saves overhead. Putting new Error(message) always creates the error,
    including generating the stacktrace and everything. Boo. I haven't actually
    measured it, but if that was hurting before, it shouldn't any more.