Add error codes (bug 1033433)

To be able to show an error page that displays an error based on an error code we need the webpay/base/dev_messages.py equivalent in Spartacus.

In addition this cleans up the error messages makes sure they're used consistently and always return.
I've simplified the render api a little bit more too so you don't need a context object just to pass an `errorCode`. 
I'd rather see this test the value if it is, this feels fragile.