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.
bumped version
fixed infinite loop when automatically resolving conflicts + small fixes
Merge branch 'release/0.4.3'