Add parallel execution of make to lots of testing scripts.
Do not use parallel execution when calling `make check`.

start_test breaks because the backend C build (inside chpl compiler) calls
make. However, when that make starts up, it assumes it is a submake and
attempts to communicate with a job server that does not exist. There is
probably some way to fix that (one thought is to set .NOTPARALLEL in the
Makefile.exe), but it is simple enough to call regular make with parallel
execution and then make a second call to make check.
Merge branch 'para-make' of github.com:thomasvandoren/chapel into test-with-para-build
Merge branch 'master' of github.com:chapel-lang/chapel into test-with-para-build

Conflicts:
	util/cron/nightly
	util/cron/test-cray-xc-knc-default-examples.bash
Merge branch 'master' of github.com:chapel-lang/chapel into test-with-para-build
Merge branch 'master' of github.com:chapel-lang/chapel into test-with-para-build
Pull all make args in smokeTest into single variable.

For simplicity...
Merge branch 'master' of github.com:chapel-lang/chapel into test-with-para-build
Fix gmp build for 32bit ubuntu.

Need to set ABI=32 when calling ./configure.
Fix errors involving --no-remove-copy-calls and partially defined extern structs

Previously, if an extern type was partially defined in Chapel code, the
remaining fields would lose their values in certain circumstances (namely when
an initCopy was used).  The initCopy would take in an instance of that record,
copy the fields whose existance it understood, and then pass in an uninitialized
instance of the type to the constructor.  To preserve the values Chapel did not
understand, the argument to initCopy must be passed along to the constructor.
Run full suite of tests for linux32 configuration.

So far only the examples have been regularly tested on linux32. Try running the
full suite to see what comes up.

If this goes well, we can consider running the full suite for no-local.linux32
too.
Document (briefly) our behavior when copying extern structs

Specifically those whose fields are not completely specified in Chapel code.
Merge pull request #803 from lydia-duncan/crazyRecordBaseline

Fix errors involving --no-remove-copy-calls and partially defined extern structs
[reviewed by hilde]

Previously, if an extern type was partially defined in Chapel code, the
remaining fields would lose their values in certain circumstances (namely when
an initCopy was used). The initCopy would take in an instance of that record,
copy the fields whose existence it understood, and then pass in an uninitialized
instance of the type to the constructor. To preserve the values Chapel did not
understand, the argument to initCopy must be passed along to the constructor.

On Tom's suggestion, I also added a note to the spec about this behavior.
Update cobegin-stacksize.

This test was originally added with the following message:

"Add a test that fails (on linux systems, anyway) unless the new callStackSize
config const is set at execution time, as it is in the .execopts file here."

However the failure mode really depends on the configuration (--baseline,
default, --fast) and exactly what code we're generating. Currently this tests
pases with default without setting CHPL_RT_CALL_STACK_SIZE so it's not really
testing what it intended to anymore (which I think is just that
CHPL_RT_CALL_STACK_SIZE actually changes the call stack size beyond just what
the tasking layer reports to us.)

To make it more portable to different configurations this updates so the test
runs in two modes. One with 32KB which will always fail, and one with 32MB
which should always pass.
Merge pull request #805 from thomasvandoren/linux32-full-suite

Run full suite of tests for linux32 configuration.

So far only the examples have been regularly tested on linux32. Try running the
full suite to see what comes up.

If this goes well, we can consider running the full suite for no-local.linux32
too.
Update cobegin-stacksize execopts based on Greg's feedback

Don't need the B in MB/KB.

"The 'B' won't hurt anything (it'll be ignored), but having it there might
confuse people into thinking it was necessary/meaningful."
Merge pull request #634 from thomasvandoren/test-with-para-build

Add parallel execution of make to lots of testing scripts.

Now that parallel execution is available for makefile (since #632), update several test scripts to use it.

For travis testing, the build time drops by ~1min for both configurations (it's a little hard to say definitively since there is quite a bit or variation in the travis build times).

r: @ronawho
Extend AstVisitor to cover WhileDoStmt/DoWhileStmt/ForLoop.  Update the Dump Routines to provide initial printers for these.
Don't use --fast in correctness testing, and don't use --no-cc-warnings at all
Add additional BigInt constructors for [u]int(64) args (where c_[u]long is expected).

A few tests in modules/standard/gmp were failing on linux32 to resolve calls
like "BigInt(bool, uint(64)" or "BigInt(int(64))". The intended constructors
were "BigInt(init2:bool, nbits:c_ulong)" and "BigInt(num:c_long)" respectively.

Create the [u]int(64) versions and cast from [u]int(64) to c_[u]long.