Modified various small points to make corrections for tests. Also eliminated all the Set specific points due to their not being co-variant which creates complications around Unit having many descendants. Also shifted UnitToBaseAssociation from being based on Map[Unit, Base] to being a tuple of (BaseGroup, BaseGroup), again due to Map.keySet not being co-variant. Added an asMap convenience (lazy) val to facilitate easy mapping back to basic Scala collections.