Remove modUsesSet from ModuleSymbol and localize data management of module use information to ModuleSymbol
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.
1) Insert a use-statement for ChapelStandard during parse 2) remove modUses after resolve
Factor much of the logic in pbs launchmd to class.

This will eventually be the basis for supporting both moab and pbspro flavors...
Fix ensure_sub instance method.
Fix reference to test_command.

The launchcmd script now works for moab/torque, as it did before...
Shuffle class method order.
Add a comment and some code to clarify that newAst could be NULL
Factor more things into AbstractJob and start separate impls of PbsProJob and MoabJob.
Fully realize MoabJob class with methods and attribute that will be different than PbsProJob.
Shuffle some comments.
Adopt names moduleUseAdd, moduleUseRemove, and moduleUseClear consistently for ModuleSymbol and BlockStmt
Implement PbsProJob class. This launchcmd now works with PBSPro!
Merge pull request #49 from noakesmichael/mod-use-2

Modify the way module uses are tracked and and managed.



(1) Update the parser so that ChapelStandard is included by inserting
a use-statement rather than sticking it directly in to the internal
data structures.  This makes thinking about the AST at the end of
parsing more consistent to the benefit of the compiler and interpreter.



(2) eliminate modUseSet from ModuleSymbol; the existing codebase spent
effort keeping modUseList and modUseSet in sync for negligible benefit



(3) centralize the management of ModuleSymbol::modUseList and
BlockStmt::modUses to those classes rather than being spread over the passes.

The new function ModuleSymbol::moduleUseAdd has a "temporary 
work-around" for an ordering issue in functionResolution that is
sensitive to the ordering of modules in this list for about 12 tests.
That issue needs more attention at some point.



(4) Clear BlockStmt::modUses after functionResolution.  This may also
prove to be a "temporary work-around" for issues in managing the
module use data-structures.  It is observably true that these lists
aren't used after functionResolution but they still change in
"unpredictable" ways.  This was causing problems in
deadCodeElimination.  Clearing these lists resolved the
issue for deadCodeElimination and was approved by Brad, but this
solution may ultimately prove to be short sighted.


Compiled: clang STD and gcc STD/LLVM
Tested:	  paratest --verify   woo hoo
Review:	  Elliot and Tom
Merge pull request #50 from thomasvandoren/pbs-pro

Update aprun launchcmd helper script to support both moab and PBSPro.