Corrected performance issue in validation of SCM project.

Jenkins sends validation requests each time a configuration page is opened
in case the field is empty. In case of 'Use SCM from another project' even
if the option wasn't chosen (let's say Git was enabled or None), Jenkins
anyway will send validation request.
In the `doCheckProjectName()` if the Project isn't found, then similar projects
are looked up. And if there are a lot of jobs (let's say 5000), then this is
an additional load. This fix resolves the problem by checking whether the
project name is emtpy first and if so, no similar Project is looked up.

Additionally added an explicit declaration of commons-lang since it was
present only as a transitive dependency which is fragile if we use its
classes.