Support  bindInterceptor[T1, T2] 

I use AOP on my project but I don't see the way to bind interceptor.
I just add one function and one test for Scala style interceptor binding. 

From
```
bindInterceptor(Matchers.any(), Matchers.annotatedWith(classOf[Logging]), new LoggingInterceptor())
```
To
```scala
bindInterceptor[Logging, LoggingInterceptor]
```
`requestInjection` is a method call that you can make in the binder, maybe you need `myBinder.requestInjection`.

If your interceptor has any @Inject setters then it will invoke them when the injector is created.


About the matcher as a parameter:
I'm trying to think about how to structure this for other people to use and I'm not sure the best way to generalize it. Github sent my comment off right away without me having a chance to think twice about it. It's a little odd because technically speaking all three of the parameters are just that, parameters. There's very little that you can do generalize them.

What I had meant was to do something like this:
```scala
def bindInterceptor[A ..., I ...] { 
  bindInterceptor[A, I](Matchers.any())
}

def bindInterceptor[A ..., I ...](m: Matcher[_ >: Class[_]]) {
  ...
}
```