Optimize solving by removing packages that are excluded by the root package requires

This improves things a bit depending on the composer.json, running it on composer itself with `update --profile --dry-run` I got this:

```
before:
Memory usage: 51.16MB (peak: 104.63MB), time: 43.26s

after:
Memory usage: 49.17MB (peak: 77.45MB), time: 38.85s
```

Note huge win but memory wise it's not bad (note this is with php 5.3)

/cc @naderman I'd really need a sanity check here.