Add support for result/variant sets

This includes models, resources, and pages for interacting with result sets. Any additional changes or features can be requested in new issues and revisions can be made against master.
Put `else if` on newlines to follow convention.