Bug 922759 - Pass Basket numeric error codes to callers

* Pass error codes from Basket back to callers as a new attribute on BasketException
* Define the error codes here in basket-client where callers can use them. Basket will add basket-client as a submodule, just so Basket can respond with the same error numbers.