Implemented automatic conflicts resolution

When using a dependencies cache and working on multiple requirements,
dependencies conflicts can arrise.

For example:

    req-a.txt
        foo==1.0
            depends on six

    req-b.txt
        bar==2.0
            depends on six

Merging these two requirements would give the following:

    foo==1.0
    bar==2.0
    six=1.6.3

Later, an update is made to req-b.txt:

    req-b.txt:
        bar==2.1
            depends on six

In the meantime, six has been updated on PyPi, latest version is now
six==1.6.4. When update-requirements is run again, the dependencies
cache is used for req-a.txt since it hasn't been modified, and we end up
with a conflict: req-a.txt pulls six==1.6.3 and req-b.txt pulls
six==1.6.4.

The new automatic conflict resolution system will simply delete the
dependencies caches and retry.
Optimized automatic conflicts resolution

Only requirements files associated with conflicts are reprocessed.