Added java specific .gitignore file.
First design of the API.

Added initial design of the interfaces including their tests.
Initial commit
Added license headers.

All code is now under Apache License, Version 2.0.
Merge remote-tracking branch 'origin/master'