more set functionality

Implements some extra operations on sets, especially the mutation operators (+=, &=, etc)