Fix #6031.  Allow symbolic log levels, not just numbers.
Handle global log levels (fixes #6033)
auto merge of #8906 : novalis/rust/master, r=alexcrichton

This is a patch to fix #6031.  I didn't see any tests for the C++ library code, so I didn't write a test for my changes.  Did I miss something, or are there really no tests?