Workers should automatically wait for promises to resolve before completing.

- Modify `ServerMiddleware` call `#raise` on any promise returned by
  `perform` - this means that the thread will block until the promise is
  resolved or rejected, then raise any exceptions that the promise was
  rejected with.

- Remove call to `final` from the promising worker spec.
Spec rejected promises returned from workers.
Bump version.