Refactored...

- class names to be more generic
- creation of DataCollector object to change impl. of DataCollector after build time
- javadoc of interface classes
- added property for collector implementation
- method names to be more speaking
- added TODOs for further improvements
add support for timezone URL include error log if received timezone id is not supported by Java jvm
add one collector at a time lock