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
This method name made me think it would return a boolean value, to be used like `if obj.needs_instance(inst)`. Would it make sense to rename this to `add_instance_if_needed`?