Download gems with threads

This pull request modifies `Gem::RequestSet` to use threads to download gems.

This significantly reduces the time it takes to download gems with many dependencies, especially on high latency connections.

Without this patch, installing Rails 4.0.0 on my home connection takes just over a minute.

When downloading gems in parallel with this patch, the total time taken to install Rails 4.0.0 drops to just 18 seconds.

This could be further reduced by installing gems in parallel, although more work would need to be done to ensure gems are not installed before their dependencies.