MOBILESDK-31 Error handling reworked. Now supports all possible combinations of errors returned by server

@brunofarache other big PR (we're close, I promise)

I reworked the _checkPortalException method, in order to support every possible combination of errors returned by the portal (with exception classname, without message, with exception that holds a message, with message that holds an exception classname...)

I have to add many more tests, but I'll do it later today and send a separated PR

If you have doubts, just ping me!