Factor much of the logic in pbs launchmd to class.

This will eventually be the basis for supporting both moab and pbspro flavors...
Renaming macro, and getting rid of two already defined macros. Fixed possible invalid
free if we failed to connect to curl. Cleaned up code in general and got rid of extra
buf writer that we didn't need.
Merge pull request #42 from Kyle-B/move-pid-tracking-to-modules

Move pid tracking to modules
Fix ensure_sub instance method.
Merge branch 'master' into curl
Today's changes.
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
Ready for unit testing.
Fixing getlength in the curl plugin and change seek so that both of them work together
in qio_file_open_usr when we cannot get the length of the URL. Had to change a few
things. But, now we get good error messages when we should!
This fixes the problem with c_string not being initialized.

c_string is not really an extern type, but I had it marked as such after creation to
prevent code generation.  FLAG_NO_CODEGEN is a better choice for this.

I updated the usage on a few other types as well, as appropriate.  _file_list is genuinely
defined externally, so it still needs FLAG_EXTERN.
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.
Merge branch 'master' of https://github.com/hildeth/chapel
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.