Exception safety of Web3 API - first shot (please read comment!)

At many places I am not sure if it is ok to do nothing, or if one should exit or the other way around. Please review carefully and read my comments.
I used noexcept way more than I should. Because boost::current_exception_diagnostic_information() theoretically might throw, they are not 100% noexcept. But it is extremly helpful to label those functions so one does not have to check them over and over again.
This is no final pull request, since some noexcept as well as comments designed for the review process will be removed. 
Although my goal was/is to catch handle exceptions as low level as possible, in order to strongly guarantee exceptions safety for the web3 API a lot of try/catch blocks are in the Client class. But hopefully almost no exceptions will make it that fare.

Client.cpp is very high level, here  hopefully only things like bad_allocs, throwing guards and some std::exceptions are left. Since I would all treat them the same way why not using catch(...). I could write different catchs, but they would all do the same.