Add the error reason to the Order entity if async processing fails.

When an Order is used to perform asynchronous actions such as creating secrets,
the client doesn't know what problem occurred unless they retrieve the metadata
for the given order later. This metadata should both indicate that the order
status is ERROR, and provide an error reason for the failure.

Change-Id: Ib10e831cc98c20a77ed502e885687447e874e05c
Implements: blueprint api-orders-add-error-reason