Automatically validate Charon return codes as part of CharonSession object; raise logging level to WARNING; fix misc bugs

Still have to modify the rest of the code to take advantage of this automatic return code checking (and Exception raising)
I think that is not found by nosetests because it does not look like a test for it: https://nose.readthedocs.org/en/latest/finding_tests.html

> If it looks like a test, it’s a test. Names of directories, modules, classes and functions are compared against the testMatch regular expression, and those that match are considered tests. Any class that is a unittest.TestCase subclass is also collected, so long as it is inside of a module that looks like a test.