[close #2813] Fix circular parallel gem resolution

Right now if you install via parallel a gem that has a circular dependency it will know that it needs to be installed based on the `remains` hash, but does not actually enqueue the circular dependency to be installed. This commit fixes that by checking for duplicate name as well as whether or not dependencies have been previously enqueued.