fix: QblException is badly broken

Design of QblException looks badly broken. I suspect this is an error or is this intentional somehow?
I.e. overloading the virtual `what()` will cause problems down the line. S.a. [std::exception](http://www.cplusplus.com/reference/exception/exception/). Also the error message will just vanish with the `return`. `what()` is used to return the message not store/initialize it. It may be more appropriate to sub-class [std::runtime_error](http://www.cplusplus.com/reference/stdexcept/runtime_error/) or [std::logic_error](http://www.cplusplus.com/reference/stdexcept/logic_error/) and to fold the list right away.