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.
Is there an explicit exception that can be caught here that openpyxl throws? This is generally bad practice since it will shadow all errors under the message below. At least may be put a logging statement to report the exception?