Add basic support for interceptors

@JakeWharton @jhump @swankjesse 
I implemented this. I pass a set of extensions to the InterceptorFactory along with the message class.