Fix Issue #156, #149 and #141

- Modularize annotation processing and make it easy to plug-in third party annotation processors
- Move EVCache annotation processing to its own module
- Added annotations for client properties

This is an unintended commit. I was experimenting this new API for certain udp client, but have not decided whether this should be offered as a Ribbon public API or should it just be part of the user code. I will remove this.