ISPN-4074 Introduce a doclet to filter out private APIs from the JavaDoc

- Add package-info.java file for all public packages which need to be documented
- Separate interfaces from implementations by creating appropriate "impl" packages
- Remove legacy classes and interfaces which have moved to commons