OutjectResult are now observing, and not intercepting

OutjectResult are now doing the same job, but observing new event `OutjectResultEvent` fired 
on `ExecuteMethodInterceptor` if method return is not void. Code got cleaner and performatic.