elm logger

moved this from the Logging repo (aspnet/Logging#38), removed the Mvc dependency from the sample, and fixed scoping
Might want the class names lowercase and then call `.ToLowerInvariant()` wherever these are used?