Pull in the monitoring code

This is our common monitoring code. I'm going to be working on improving it next sprint and getting it running in our internal monitoring infrastructure, so I want the old code here to play with. Just pulled in pretty much as-is from NuGet/NuGetOperations, I just removed the HTTP stuff since we're not really planning on monitoring that.