extract TomKernel so it can be Nuget'd

I shamelessly stole your DDD stuff while I was playing with EventStore. I separated the really abstract stuff from the Soccer stuff so I could Nupac it and use it in my thing.

Feel free to ignore this pull as really I'm just playing with GitHub :D