Removed the file after the app bits are processed
Removed the file after the droplets and buildpack caches are processed
fix app package cleanup when no bits are uploaded
Use new ServiceBrokerApiUnreachable exception
Use new exception format

[#55737448]
Refactor HttpError and NonResponsiveHttpError

[#55737448]
Finalized the new error response format for the cloud controller.

An error from CC now might look like this:

{
  code: 10001,
  description: "Error provisioning service: Error from AppService: Your pants are on fire"
  types: [ "ServiceBrokerBadResponse", "HttpResponseError"],
  backtrace: ["here.rb:123", "there.rb:5676"]
  http: {
    status: 500,
    uri: "http://broker.example.com/v2/service_instances/ABC-DEF-GHI",
    method: "PUT"
  }
  source: {
    description: "Error from AppService: Your pants are on fire"
    types: [ "AppServiceError", "HttpResponseError"],
    backtrace: ["somewhere.rb:123", "somewhereelse.rb:5676"],
    http: {
      status: 500,
      uri: "http://appservice.example.com/whatever/their/url/is",
      method: "PUT"
    },
    source: "SOME WEIRD TEXT FROM APPSERVICE"
  }
}

[Finishes #55737448]
Treat 410 from service broker unbind/deprovision as a success condition.

[Finishes #57190566]
Move the clean up logic to the packer.
Ensure the uploaded files were removed regardless of ngx
[#57595258]
Avoid duplicate entries in error json.
Auto-merge remote-tracking branch 'upstream/master'