Update pbs-aprun launcher to use place/select for pbspro

The mpp* options have been deprecated (but still functional) for a while. Many
systems are completely disabling the mpp* options so we need to adjust to use
the place/select options for pbspro. For moab/torque we already used a different
set of options to request resources.
Factor qsub command list logic into property.
Factor base qsub command (sans resource list args) into its own method.
Simplify some locale model interactions with the runtime.

These are minor simplifications based on what really gets used, and not
used, for locale models that do (numa) and don't (flat) have sublocales.
In the runtime I've removed CHPL_LOCALE_MODEL_NUM_SUBLOCALES, which was
used to #ifdef out runtime code having to do with sublocales when we
were using a locale model that didn't have them.  But it turns out much
of that code isn't called in the first place except with a locale model
that DOES have sublocales, and for the rest the performance savings
(which are tiny, probably unmeasurable) don't justify the impact to code
readability.

Elsewhere, I did some tidying up in the locale model code and some numa
specific tests, as preparation for future optimizations which will
short-circuit some places where we currently call the runtime for
sublocale-related information.

The specific file changes are as follows.

runtime/src/tasks/fifo/tasks-fifo.c
runtime/src/tasks/massivethreads/tasks-massivethreads.c
  Remove the dependence on CHPL_LOCALE_MODEL_HAS_SUBLOCALES and just
  return 0 (zero) from chpl_task_getNumSublocales().

third-party/qthread/qthread-1.10/src/interfaces/chapel/tasks-qthreads.c
  Remove the dependence on CHPL_LOCALE_MODEL_HAS_SUBLOCALES and just
  return qthread_num_shepherds() from chpl_task_getNumSublocales().

third-party/qthread/qthread-1.10/src/interfaces/chapel/tasks-qthreads.h
  Remove the dependences on CHPL_LOCALE_MODEL_HAS_SUBLOCALES.  Always
  store a sublocale index in task private data, even when we don't need
  it, such as when we're using the flat locale model.  The unmeasurably
  small performance gain isn't worth the code messiness.  And in these
  three functions, we didn't need CHPL_LOCALE_MODEL_HAS_SUBLOCALES
  anyway, because they're only called when we're using the numa locale
  model:
  - Always return qthread_shep() for chpl_task_getSubloc().
  - Always set the sublocale in chpl_task_setSubloc().
  - Always return the sublocale in chpl_task_getRequestedSubloc().

runtime/include/localeModels/flat/chpl-locale-model.h
  Remove the definition of CHPL_LOCALE_MODEL_HAS_SUBLOCALES (now no
  longer used) and a superfluous comment.

modules/internal/localeModels/flat/LocaleModel.chpl
modules/internal/localeModels/numa/LocaleModel.chpl
  Remove the mention of CHPL_LOCALE_MODEL_NUM_SUBLOCALES, which no
  longer exists.
  Hoist the extern definitions for c_sublocid_none and c_sublocid_any,
  instead of defining them multiple times, near where they're used.
  For numa, add chpl_getSubloc() to wrap chpl_task_getSubloc().  So far
  this is just a simple wrapper, but in the future I expect it to avoid
  calling the tasking layer when we know what the result will be.  For
  flat, there are no calls to chpl_task_getSubloc(), so no need for this
  wrapper.

modules/internal/ChapelRange.chpl
modules/internal/DefaultRectangular.chpl
  Call chpl_getSubloc() instead of chpl_task_getSubloc().  Note that
  these calls only occur under a param-based if-stmt that checks whether
  the current locale has sublocales.

test/localeModels/numa/basics/checkSubloc.chpl
test/localeModels/numa/dataParallel/forall.chpl
  Call chpl_getSUbloc() instead of chpl_task_getSubloc().  Note that
  these tests are only run for the numa locale model.
Allow verbose output to be enabled through environment variable.
Add pbspro specific _qsub_command implementation using select/place options.

select/place syntax is the modern way of specifying a resource list with
PBSPro. This has not yet been tested when a hostlist is specified.
Update launchcmd to work with PBSPro select/place hostlists.

The syntax is crazy (and is probably/hopefully never used in the real world),
so rely on caller to pass in proper form, as opposed to constructing it based
on the old style inputs.
Enabled simple-alias-mem-use.chpl under gasnet.
Make the symbolic links I used for the new perf suite relative

I had accidentally made these absolute symbolic links, so when they were run
somewhere that didn't have access to my files, errors were generated.

While I was there, I made the spectral norm .perfkeys file its own file instead
of a link from a different location, because that seemed likely to lead to less
surprising behavior in the future.
Merge pull request #1064 from lydia-duncan/resolveSymlinkPerfErrors3

Make the symbolic links I used for the new perf suite relative [ok'd in principle by mike]

I had accidentally made these absolute symbolic links, so when they were run
somewhere that didn't have access to my files, errors were generated.

While I was there, I made the spectral norm .perfkeys file its own file instead
of a link from a different location, because that seemed likely to lead to less
surprising behavior in the future.
Change skipif files (again) for new performance suite.

I had been a little uncertain about using the presence of --fast and --static
to determine if a performance test was occurring, but hadn't seen an environment
variable that would cover it when I looked in start_test for the handling of
-performance.  That's because the environment variable is assigned when the
variable created by the flag (performance) is checked later on.  We really need
to rewrite start_test.  Anyways, switch the skipifs back to non-executable and
check against this environment variable.

Thanks to Elliot for pointing this out.
Add missing space
Merge pull request #1044 from ronawho/fix-pbs-aprun-mpp

Update pbs-aprun launcher to use place/select for pbspro

[reviewed by @thomasvandoren]

The mpp* options have been deprecated (but still functional) for a while. Many
systems are completely disabling the mpp* options so we need to adjust to use
the place/select options for pbspro. For moab/torque we already used a different
set of options to request resources.
Merge pull request #1065 from lydia-duncan/resolveSymlinkPerfErrors4

Change skipif files (again) for new performance suite. [reviewed by elliot]

I had been a little uncertain about using the presence of --fast and --static
to determine if a performance test was occurring, but hadn't seen an environment
variable that would cover it when I looked in start_test for the handling of
-performance. That's because the environment variable is assigned when the
variable created by the flag (performance) is checked later on. We really need
to rewrite start_test. Anyways, switch the skipifs back to non-executable and
check against this environment variable.

Thanks to Elliot for pointing this out.
Merge pull request #1060 from vasslitvinov/enable--simple-alias-mem-use.chpl--under-gasnet

Enabled simple-alias-mem-use.chpl under gasnet.

This test:
  test/distributions/robust/arithmetic/reindexing/simple-alias-mem-use.chpl
used to fail intermittently under gasnet.

The failure was represented by
  test/memory/vass/crash-memory-module-1.chpl
which was handled in r22223 aka 7209b2d a year ago.

Let's enable  simple-alias-mem-use.chpl  under gasnet and see if it succeeds there consistently.

Discussed with Mike.
Drop no mppdepth env var; it is no longer needed.

The logic in the _qsub_command for PBSPro implementation will use the host list
expression as the select expression. This means num_cpus_resource is only used
when it is valid, and can always be 'ncpus'.
Merge branch 'master' of https://github.com/chapel-lang/chapel into pbspro-use-select-place-syntax
Improvements resulting from review.

Move the node and sublocale ID type definitions and the special
sublocale ID constants into common code in module ChapelLocale.  Add a
definition of chpl_getSubloc() to the flat locale model. It contains a
compilerError() call, to catch inadvertent uses of this proc where it
cannot be useful (since there are no sublocales).
Merge pull request #1054 from thomasvandoren/pbspro-use-select-place-syntax

Update chpl_launchcmd.py to use select/place syntax with PBSPro.

#1044 updates the launcher code to support select/place syntax for
PBSPro (and includes reasoning). This is the complementary update
to chpl_launchcmd.py.

Factor the qsub command construction into a method on the abstract
class. Implement a version of that method on the PBSPro subclass
that uses the select/place resource list directives (instead of the mpp*
options, which are deprecated and often disabled in practice).

Get rid of a static class member 'processing_elems_per_node_resource';
it was only used for PBSPro and now it is not used at all.

r: @ronawho
Switch the string shootouts to having main take an argument

The Computer Language Benchmarks Game treats all its benchmarks the same in its
bencher script by sending in their size to the executable.  However, the string
shootouts (Regex DNA, Reverse Complement, and K-nucleotide) require an input
file instead of a problem size.  To get around the bogus size value sent to
them, we previously had a similarly bogus config variable, to match the set up
for our other benchmarks.  However, it seems somewhat cleaner to make use of our
command line argument syntax and then ignore the argument in main itself.