Better error handling during extraction

`extract` failed to handle errors along the extraction pipeline, so any errors that did occur would crash the process. This pull request adds an `errback` handler to `extract` so that any such errors can be handled gracefully.