@FocusChange

Here is a not finished yet PR for `@FocusChange`.
I've made several changes: extracted abstract processor, which generates the same code for `@Click`, `@LongClick`, `@Touch`. Everything that has same functionality as `(T extends View).setOn***Listener()` can use this as well as `@ChechedChange` on others.
I've also extracted everything that validates parameters to the separate class(it was i bit difficult to navigate, now everything is in one place). Concerning this, was it good idea to use public final field?

This PR also should eliminate stackoverflow problem, that `@Touch` had, when `onTouch()` was annotated.

There is no javadoc yet. Any feedback is welcome :)