Handle unprovision errors better

* If any unprovisions fail, catch the exception and still shut down the
  api so that all the threads will exit and the jvm shuts down properly