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.
Maybe we ought to have a fallback? Like maybe call `ToString` on `state` (if it's not null), and then get some data from the `exception`, such as its `Message` and/or `StackTrace`?