Draft attempt at instrumentation hooks

Hi Pierre,

I've spent the last few hours hacking out some instrumentation hooks. It's not really ready to commit, it could definitely do with a few comments and some tidying, but I wanted your opinion on how I'm going about it. I'm fairly new to .NET, so I'm probably missing some best practices.

Most of the complexity arises because of the asynchronous nature of the driver, and the fact that when you're reading from Cassandra, the driver read code is interleaved with the user's own code (due to the yield return calls, etc.).

Cheers,

Phil.