Java code guidelines

This is a first version. I'm not sure yet on the package organization part.