be compile logger serializable
create method interceptor with di compiler
fix injectable interceptor

The dependencies of interceptor also injected in runtime. Major
refactoring DI compiler. DiCompiler::create take first parameter as
module provider.
Merge branch 'feature/inject-interceptor' into develop