Sets - Part One

See #377. This is a first pass at just letting set features pass through un-prioritised.

@charleso This is pretty naive, but worth a look to make sure I am not over-simplifying. I still need to test it all and clean up a bit. 
Could also just create a `StringValue` rather than having to match