Convert #resolve_for into an iterative algorithm (for profit)
Comments and warning fixes
Added multiple argument handling to gem list
Refactored to Gem Query
Finishing Query touches
fix logic of register_default_spec
fix Gem::Specification to always return files in a predictably sorted order
suppress list source header if only one type requested with --quiet
Fix host on gem push, when not passing a --host

After d3f91a011705020c4f1e601d8ddab1c924e5eb99 we start accepting the option --host on the push command
However when the --host is not provided, it is set as nil, and this was causing the following output

Enter your  credentials.
Dont have an account yet? Create one at https:///sign_up
update check to default to new format on any implementation but cruby
move detection of new format for gem paths into defaults and a separate method
add simple test for default_gems_use_full_paths
Merge pull request #611 from jaggederest/fix_register_default_spec

Fix logic of register_default_spec

Issue #611 is needed for #612 which will sort the files list for packagers.

By fixing the issue now this method should not need to change as much.
Update version for 2.1 RC 2
Fix tests for missing RUBY_ENGINE

Old CRuby versions have no RUBY_ENGINE, but the new tests don't account
for this.  This allows the tests to pass on these old rubies (even
though they don't use default gems).

See #611
Fixing Gem.clear_paths to work in an environment with a Security Constant

Sometimes rubygems will execute in an environment where there is a top level Security constant.
Checking for const_defined? :Security would return true when this Security constant exists, even
if it's not the expected Gem::Security.

defined? does not have this problem, and allows us to check for Gem::Security directly.
Merge pull request #625 from elarkin/master

Fixing Gem.clear_paths to work in an environment with a Security Constan...
Update history for #625
Use metadata['allowed_push_host'] to restrict gem pushing to that host only . Defaults to nil, meaning any host is allowed. Includes tests.

Note that I had to change 2 tests in test_gem_commands_push_command.rb, namely test_execute and test_execute_host; they exploited the fact that gem push previously did not always attempt to load a gem's specification (it only loaded the gemspec if no host was specified). I used existing test helpers to fix those 2 tests.

I figure @rykov of @gemfury will appreciate this. Thanks to @drbrain for implementation suggestions.
Add full_require_paths.

Add convenient method, which returns expanded version of
require_paths. This removes code duplication and may helps #210 a bit.