Fixes #7733 - Remove hosts.yml fixtures and use FactoryGirl instead

Ok, this is huge, Apologies to whoever ens up having to review this. Fortunately all the changes are in test/ so we know the functionality hasn't changed. I'd like at least two reviews so that we keep confidence in the test coverage - @ares can you do the first one?

There's probably substantial improvements we can make in the Host factory traits, feel free to suggest.
Right, my point is that this is a change in test logic - the old test uses `.puppetclasses` but I now have to use `.classes` to make the test pass, and I don't know why. It bothers me :)