Fixing formatting and tidying up imports.
Eclipse code style definition.
Formatting, copyright notice and JavaDocs

- Fixed code style to be consistent with the rest of the codebase
- Added copyright header to all files
- Added JavaDoc documentation