Processes the topmost available {RequirementState} on the stack @return [void]
@return [ResolutionState] the state whose ‘requirement` is the given
`requirement`.
@return [Array<Object>] the list of requirements that led to
`requirement` being required.
@return [Integer] The index to which the resolution should unwind in the
case of conflict.
Attempts to swp the current {#possibility} with the already-activated spec with the given name @return [Boolean] Whether the possibility was swapped into {#activated}
Pushes a new {DependencyState}. If the {#specification_provider} says to {SpecificationProvider#allow_missing?} that particular requirement, and there are no possibilities for that requirement, then ‘state` is not pushed, and the node in {#activated} is removed, and we continue resolving the remaining requirements. @param [DependencyState] state @return [void]