Addressing race-conditions caused by the destroy calls

When working with multiple remotes, the use of "destroy" here has been causing corrupted installations due to a nasty race condition.

The race happens for a component that is depended multiple times. When a remote is missed (happened a lot since we used a custom
remote for only a select few components) the destroy runs, but then another install gets started in the interim. As our component
list grew, this happened more and more frequently, until you had to get "lucky" and it just worked.

The solution is to only trigger the destroy when a component could not be found on any remotes. (rather than on each error)
Merge pull request #1 from dominicbarnes/install-race-condition

Addressing race-conditions caused by the destroy calls