Minor code reorganization and documentation improvements.

Client repositories should live in implementation project.
Bootstrap and S3 documentation.
Reduced visibility for classes.
Only interfaces and abstract classes should be public.