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

Multiple test classes are copied from ribbon to ribbon-evcache project. We could have instead dependency between test packages, and reuse the test classes across projects.