COMP: Update python module external project to depend on setuptools

In an attempt to resolve #3757, this commit systematically adds setuptools
as a dependency to external projects building and installing python
eggs.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23408 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Ensure that easy-install.pth is not concurrently updated. Fixes #3757

Project that can NOT be built in parallel should set the
variable _EP_<projectName>_<lockname>_LOCK to 1.

For example, to address issue #3757 and ensure that project
building and python module are not updating the file 'easy-install.pth'
concurrently, these project are setting the variable:

    set(_EP_${proj}_SETUPTOOLS_LOCK 1)

Then, by calling the function "_ep_setup_lock", we are
sure that they won't be run in parallel.

Since "gitdb", "async" and "NUMPY" project are not updating easy-install.pth,
there is no need to "lock" them.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23409 3bd1e089-480b-0410-8dfb-8563597acbee