Add an isWater method to Group; add water names to GroupType

Adds an isWater() method to the Group interface, which is implemented
in HetatomImpl; ChainImpl's static field 'waternames' has been moved to
GroupType.WATERNAMES.

Updates StructureTools, TestAltLocs, and ChainImpl to use the renamed
and relocated field.
Replace all uses of waternames with isWater(); move waternames into HetatomImpl

All uses of waternames were for doing what isWater now does, so
waternames can now be made a private field of ChainImpl.
Have StructureIO set the atom cache of getBioUnitDataProvider

Otherwise, calls to hasBiologicalAssembly or getNrBiologicalAssemblies
ignore the user's cache.
Merge pull request #29 from ulyssecarion/master

Add an isWater method for Groups