Revisions include:
1. Make client side HttpException accept a SDK HttpException in its
constructor.
2. Print error code when printing error messages.
3. Added ClientError and ServerError and subclasses based on their
HTTP code.
4. Added parse_exception() method to pase the exception based on its
error code so that proper error message is shown.