Generic logging Interface
- removes logrus logging in the package and allows clients to pass in a logger of their choice.
- example usage can be found in
examples/main.go
- if no logger is provided, the default logger is a logrus implementation. code is at
logging/logging.go