improve the way we add Instance nodes to suite xml

- pull out Instance objects as constants
- make adding `<instance>`s more declarative
- and guard against adding the same instance twice
Good point. I was going for a more declarative name; i.e. one that says what it's for rather than how it does it, so that we can do things like normalize order etc. without having to change the name. Perhaps, `require_instance`? If between those you think `add_instance_if_needed` is still better, I'm happy to use that.