Issue #3: Refactoring ILogger

Moved extension method `IsEnabled` to the `ILogger` interface, renamed `WriteCore` to `Write` and changed the return type to void. This will break other repositories that use the ILogger interface, which I will update once I get feedback on the changes here.
Or throw argument null exception? @Eilon's suggestion wouldn't be surprising either, but if the  form a tter is null you're calling the wrong overload...