Moved tracking the current PID to the modules

The privatized object count was previously tracked via in the runtime.
Now, it is an atomic integer in the modules that is passed into the
runtime when creating new privatized classes.
Updated some .goods that changed after moving the pid into the modules
Do not default initialize return temporary variables, where able.

This commit causes return variables to use noinit instead of default
initialization.  The rationale is that these variables will be assigned to
before they are returned, so default initializing them is a waste of time.
It is hoped that more compiler temporary variables can use this in the
future, but there are still some kinks to work out in the meanwhile.

Details of changes:
checkResolved.cpp:  The check for if a return variable has been assigned in
  all spots had two cases - first, if no assignment occurred; second, if
  only default initialization had occurred but the function had specified its
  return type.  In a world where return temps do not default initialize
  themselves except in special cases (see the commit on "pragma ignore
  noinit" for specific cases that must still default initialize themselves at
  this point in time), we would expect one or more assignments to occur in the
  ordinary case instead of at least two.  Externs being no longer special in
  this regard, it made sense to specify that this second case should only be
  triggered if the return type was one of the specified types that cannot use
  noinit.

normalize.cpp:  For the return temporary variables added here, unless the
  function is a param or type function, specify that the variables should not be
  default initialized unless necessary.  In the case of param or type variables,
  using noinit had caused confusion about whether the value returned really was
  what the return tag claimed, so we must continue to default initialize them
  for now.

functionResolution.cpp:  With normalize using noinit for return variables willy-
  nilly (as we don't know their type when return temps are inserted), it will
  not necessarily be the user's fault when noinit is applied to a type that
  can't use it.  This squashes that warning ("type <type> does not currently
  support noinit") in the case where the variable is a return temp and thus not
  the user's fault.
Fixed a comment as Tom suggested.
Remove modUsesSet from ModuleSymbol and localize data management of module use information to ModuleSymbol
Remove nostdlib/*.  This directory was removed in
https://github.com/chapel-lang/chapel/pull/31.
Merge pull request #46 from gbtitus/update-fast.suppress

Remove mention of nostdlib/*, which is no longer present.
Merge pull request #44 from lydia-duncan/noinitReturnTempsClean

Do not default initialize return temporary variables, where able.
Merge remote-tracking branch 'chapel-lang/master' into mod-use-2
Make some initial pbspro portability changes to launchcmd script.

Removes -d arg from qsub and instead calls `cd $PBS_O_WORKDIR` before calling
test command.
Convert PIDs to be int(64) and count with a processor atomic
1) Insert a use-statement for ChapelStandard during parse 2) remove modUses after resolve
Fixing glob iterator test so that it no longer fails on multilocale testing (bad .good file)
Update .bad file to reflect that we now generate an error instead of a warning
when we trigger "control flow reached end of function that returns a value".
Merge branch 'master' into parallel-glob
Merge pull request #47 from lydia-duncan/specifiedReturnTypeCommitFuture

Update .bad file
Merge pull request #48 from tzakian/parallel-glob

Fixing glob test
Factor much of the logic in pbs launchmd to class.

This will eventually be the basis for supporting both moab and pbspro flavors...
Merge pull request #42 from Kyle-B/move-pid-tracking-to-modules

Move pid tracking to modules
Fix ensure_sub instance method.