Exception: move exceptions from model

Exceptions in model results in circular import which may introduce
errors in the future, put them in a single module.

Signed-off-by: Royce Lv <lvroyce@linux.vnet.ibm.com>
Exception: Customise error page handler

Instead of throw stack to user directly,
customise error page handler and fill it with error reason.

Signed-off-by: Royce Lv <lvroyce@linux.vnet.ibm.com>
Exception: reporting error in controller.py in details

Report error resource name and resource id to give user more information.

Signed-off-by: Royce Lv <lvroyce@linux.vnet.ibm.com>
Exception: Distinguish development mode and production mode in kimchi server

When Kimchi is running under development env, stack will be shown
source will be reload and log screen for server,
While in production mode, stack will be sanitized.

Signed-off-by: Royce Lv <lvroyce@linux.vnet.ibm.com>
Exception: Add testcase to test error reporting

Test stack information only shown in development environment.
Error will be santinized in production environment.

Signed-off-by: Royce Lv <lvroyce@linux.vnet.ibm.com>
Exception: Add UI support

Add kimchi style error page,
display stack only in development environment.
display error code and reason in development and production environment.

Signed-off-by: zhoumeina <zhoumein@linux.vnet.ibm.com>
Signed-off-by: Royce Lv <lvroyce@linux.vnet.ibm.com>