Better errors from failed JSON decodings
Include the string representation in the error

Where possible.
Log unconsumed errors

Closes #34.

This solution is quite elegant, wrapping NSError with a subclass that gets marked as consumed once a catch handler is run with it as its argument.

Then if the error is deallocated without being consumed, we log it.

We are careful to watch for “rethrowing” of the same error and to not consume the error is such cases.
Fix potential promise chain stall
Unnecessary safety since we check in all usages
Fix empty PMKManifold() fulfillment