Do not lock the whole workspace when running the ``ProjectsCleanJob``

I noticed that the default implementation of
``ResourcesPlugin.getWorkspace().getRuleFactory().buildRule()`` returns a
scheduling rule that **locks the whole workspace**. That seems unnecessary,
hence I've changed the implementation of the ``ProjectsCleanJob`` to only lock
the projects that are about to be cleaned.