Track default requires and requires: false

In a Gemfile you can specify which files get required at load time.
This commit adds tracking of only the default require and the opt-out
line.
Fix circular require from tests

Source::Local is loaded via rubygems/source.rb, not directly.
Support require option in gem.deps.rb

This support matches bundler's require: option for #gem in a Gemfile.
Don't track requires for excluded gems

If a gem is excluded due to --without then we shouldn't track its
requires either, as it just wastes space.
Extract gem_requires from gem
Extract gem_path from GemDependencyAPI#gem
Extract gem_group from GemDependencyAPI#gem
Remove GemDependencyAPI#dependency_groups

Tracking which group a gem is in is not needed, only which to exclude it
from.
Fix warnings