Issue 19668 & Usage of Sess() function

This is a response to Issue 19668 (implementing ```span_lint_note```), and also replaces the use of self.tcx.sess with the existing but unused function sess(). 
This may not be quite what we want to match on because the level can change throughout the program, I think that this will require modifications to `lookup_and_emit`  and perhaps `raw_emit_lint` as well.