Factories

Add a new "Factory" class. This class (and subclasses) is suitable for use when writing API tests, and ideally should be of use when writing CLI and UI tests as well. Class `Factory` currently has one method of use: `attributes`. When called, this method returns attributes which can be used to create a new Foreman object.

Make use of the new factory in some of the existing tests. Add the new code to the API docs. Add tests for all new code.