(CDAP-378) Refactor Service implementation

- Cleanup cluttered code about ProgramRunner implementation for Service
  - Follow why other ProgramRunner model is
- Refactor ServiceWorker API to use configurer.
- Added support of @Property annotation
This is all private used, not exposed to anyone outside of this class. And in fact the controller does mutate it.