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.
@victorhurdugaci Eilon and I discussed the new line here, do you still think the newline should be avoided if `state == null`?