Get pre_get to work and make session logs when adapter changes

Ok, I would **really** like to understand this one. 

Is the statement after the yield done in completely different context that these two things do really differ ? 

I've tried and retried a few times and this **does** fix the fact that `pre_get()` is not called on my machine on Python 3.4.1, or at least does not have the side effect of adapting the messages.

Am I crazy ?

@minrk @takluyver ?