Add the basics

TODO:
 * more tests
 * An NLog assembly
 * NuGet packaging