elm logger

moved this from the Logging repo (aspnet/Logging#38), removed the Mvc dependency from the sample, and fixed scoping
That's so awful :smile: Calling delegates directly is so much nicer than using `.Invoke()`!