Adds tests for edge cases that shouldn't be allowed with noop policies/models
(and throws sensible errors), specifically:

* throws an error if a user attempts to create a noop model (either a boot_local
or discovery_only model) with an associated image (previously the image UUID
wasn't required but a user could include one if they wanted to)
* throws an error if a user attempts to create a noop policy (either a boot_local
or discovery_only policy) with an associated broker (previously this was allowed,
even though the idea of a noop policy/model is that the node will be added to
the Hanlon node list but will not be changed by Hanlon)

This should clean up the last couple of issues that might crop up with the
PR associated with this commit.