Use AspectJ weaving instead of JDK/cglib proxies for AOP
This eliminates issues in edge cases like calling annotated methods from
inside the same class. The use of AopContext.currentProxy()
and the
exposeProxy
setting are no longer necessary for these cases.