clitest: improve cliEngine to use random filenames for JS files, this should prevent collisions when running multiple suites at the same time
clitest: introduced CliTestRunner.withResource

Added a replacement of adding resources to CLI test:

Consider this usage:

 createJSRunner("bundles/init.js") .addDepends("/js-files/rhqapi.js")
.resourceSrcs("/bundles/bundle.zip","/bundles/bundle-v2.zip")
.resourceDests("/tmp/bundle.zip","/tmp/bundle-v2.zip") .withArg("bundle1",
"/tmp/bundle.zip") .withArg("bundle2", "/tmp/bundle-v2.zip").run();

this would get 2 bundle zip files from project resources, put them to /tmp
and then pass 2 arguments to CLI with paths to those 2 files. In some cases,
those files may get deleted at a time after they were copied to /tmp and
before cli was executed, which causes it to fail.

I've reimplemented this functionality in a way, that a final path to
resources is only known at runtime. It looks like this:

createJSRunner("bundles/init.js") .addDepends("/js-files/rhqapi.js")
.withResource("/bundles/bundle.zip", "bundle1")
.withResource("/bundles/bundle-v2.zip", "bundle2") .run();

this will be the same, cli test will get 2 parameters with paths to those 2
bundles. If you for some reason expect a resource to have certain name, you
can achieve that by .withResource("/bundles/bundle.zip", "foo.zip",
"bundle1") - this will pass argument bundle1=/some/path/foo.zip