Add basic support for interceptors

@JakeWharton @jhump @swankjesse 
The interceptor itself can be recursive, right?