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

I think the only way to reuse test classes is to move them to ribbon-test. "testCompile" dependency cannot be used for classes in src/test.