many changes to improve gsw functionality

The package builds, which means that it passes several EOS tests, but
more testing is certainly required. The package can build a new version
of OAR, which is another good sign. However, these changes *must* be
regarded as provisional, and certainly I do not intend to merge back
into the develop branch for a week or two.