Add check for out of range negative level num in _get_level_number()
Use _get_level_number() to do validation and conversion
Explain why level list isn't iterated over directly
Raise exception on fall-through case
Add test cases for raising exceptions
Use _get_level_number() to convert and validate negative levels
Add changes to release notes