project: accept version strings in project name input
project: accept version strings in project name input

This commit accepts a version number for a given project in the project
name input string on the command line.

This is a quick hack for SLURM clients and not intended to be the
default way to specify a version _range_ on the command line. This will
_not_ work!
The current implementation replaces the Project.versions() method with
a new one that returns only a single version in the result list (The one
specified on the CLI).

If you provide a project multiple times on the cli, this will overwrite
the versions method and keep only the last one.

This will NOT work as intended:
  benchbuild -E foo prj@1 prj@2 prj@3

However, in the context of a SLURM script, this will work just fine,
because benchbuild generates a SBATCH script that runs each (project,
version)-pair in a single SRUN call to benchbuild.

PolyJIT/benchbuild,PolyJIT/benchbuild,PolyJIT/benchbuild,PolyJIT/benchbuild