Implement Set field

All hashable types are converted to sets.
Override the field constructor so that hashable types are converted to sets.
Perhaps use the `super(Set, self).__init__(*args, **kwargs)` syntax (and add `*args` to the arg list)? I think that's the current expectation.