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