Add error when user requests extras that do not exist (#254)
Extends #253
Closes #241
Adds `extras` to `RequirementsSpecification` to track extras used to
construct the requirements so we can throw an error when not all of the
requested extras are used.