Add a PyOP2 logger and set log level according to configuration
Add common logging functions debug, info, warning, error, critical
Factor out MPIConfig into separate module
Factor logger out to separate module
Define default log level in default.yaml
Use op2.warning instead of warnings.warn in backends
Use op2.debug in petsc_base