Get rid of warnings about non-literal printf() format strings on darwin.

On darwin we get warnings from the gen compiler about non-literal
printf() format strings in these three tests, causing them to fail.
Resolve these warnings as follows:

test/extern/hilde/namedExtern.chpl
  We declare printf() such that the fmt argument is implicitly typed
  by the corresponding actual argument.  That actual arg is a literal
  string, but of type Chapel string.  The compiler emits code to
  convert it to a c_string for the call to the extern printf(), but
  this ends up making the actual a variable in the emitted code.
  Change the printf() declaration(s) so that the fmt argument is
  explicitly a c_string.  This makes the compiler emit the literal as
  a c_string in the first place, and we don't get conversion code or
  the resulting variable.

test/io/vass/time-write.chpl
  In this case we actually do need to be able to printf() non-literal
  strings.  As the code stands we send these as the first (format)
  argument to printf().  Since we need to prnt non-literal strings,
  change the calls (and declarations) so that we use a "%s" format and
  pass the c_string to print as the second argument.  Arguably this
  adds a slight amount of overhead to the printf() call and thus
  changes the test.  If this is a problem we'll need to discuss the
  point of the test, in particular whether it is testing printf()
  performance or the performance of the C buffered I/O FILE interface.
  If the latter, we could call puts() here instead of printf().

test/studies/pidigits/bbp/nomem32.chpl
  This has the same problem as namedExtern, above.  The printf("\t")
  here is the only printf() call in the program.  Everywhere else we
  use Chapel write.  Convert the printf() to a write().
Revert "Add declint2.skipif to skip when --fast is tossed."

This reverts commit 1436e0245e4936149156884f400dae173f4effa5.

The failure is already coveredy in Suppressions.
Avoid relying on qthreads syscall interception for chpl_task_sleep

chpl_task_sleep() was previously just a call to sleep(). This system call is
supposed to be intercepted by qthreads, and qthreads will perform
qthread_yields until the specified sleep time is up. If that doesn't happen
sleep, would cause the entire worker to sleep, preventing other tasks on the
same worker from running.

The system call interception does not seem to be working on darwin currently.
As a result any test with sleep() in it fails on darwin.  We're working with
the qthreads team to figure out what's going on but in the meantime (and
possibly longer term) we will just perform what the syscall interception is
supposed to do directly.
Merge pull request #731 from hildeth/master

Revert "Add declint2.skipif to skip when --fast is tossed."

The failure is already covered in Suppressions.
Add classes/figueroa/RecordConstructor2.skipif

This test arguably works correctly in both configurations, even though its output differs
when run with the --baseline option compared to when run without it.  That is because
--baseline disables the removeUnnecessaryAutoCopyCalls() optimization.  The compiler may
add or remove autoCopy calls at will, so the user should not write code that depends upon
its having run (except as needed for memory management reasons).

In this test, running autoCopy has a side-effect (setting the contents of the record to
2).  The autoCopy function does this because every constructor implicitly calls the
initialize() function, and that is what is done by the initialize() function for this
record type.

The compiler could do a better job of aligning --baseline vs. optimized behavior by
inserting fewer autoCopy calls to begin with.  Also, the fact that the compiler-generated
autoCopy calls initialize is quite hidden.
Merge pull request #727 from gbtitus/darwin-non-literal-format

Get rid of warnings about non-literal printf() format strings on darwin.

On darwin we get warnings from the gen compiler about non-literal
printf() format strings in these three tests, causing them to fail.
Resolve these warnings as follows:

test/extern/hilde/namedExtern.chpl
We declare printf() such that the fmt argument is implicitly typed
by the corresponding actual argument. That actual arg is a literal
string, but of type Chapel string. The compiler emits code to
convert it to a c_string for the call to the extern printf(), but
this ends up making the actual a variable in the emitted code.
Change the printf() declaration(s) so that the fmt argument is
explicitly a c_string. This makes the compiler emit the literal as
a c_string in the first place, and we don't get conversion code or
the resulting variable.

test/io/vass/time-write.chpl
In this case we actually do need to be able to printf() non-literal
strings. As the code stands we send these as the first (format)
argument to printf(). Since we need to print non-literal strings,
change the calls (and declarations) so that we use a "%s" format and
pass the c_string to print as the second argument. Arguably this
adds a slight amount of overhead to the printf() call and thus
changes the test. If this is a problem we'll need to discuss the
point of the test, in particular whether it is testing printf()
performance or the performance of the C buffered I/O FILE interface.
If the latter, we could call puts() here instead of printf().

test/studies/pidigits/bbp/nomem32.chpl
This has the same problem as namedExtern, above. The printf("\t")
here is the only printf() call in the program. Everywhere else we
use Chapel write. Convert the printf() to a write().
Merge pull request #732 from hildeth/quietRecordConstructor2

Add classes/figueroa/RecordConstructor2.skipif



This test arguably works correctly in both configurations, even though its output differs
when run with the --baseline option compared to when run without it. That is because
--baseline disables the removeUnnecessaryAutoCopyCalls() optimization. The compiler may
add or remove autoCopy calls at will, so the user should not write code that depends upon
its having run (except as needed for memory management reasons).

In this test, running autoCopy has a side-effect (setting the contents of the record to
2). The autoCopy function does this because every constructor implicitly calls the
initialize() function, and that is what is done by the initialize() function for this
record type.

The compiler could do a better job of aligning --baseline vs. optimized behavior by
inserting fewer autoCopy calls to begin with. Also, the fact that the compiler-generated
autoCopy calls initialize is quite hidden.
Merge pull request #730 from ronawho/qthreads-sleep-on-darwin

Avoid relying on qthreads syscall interception for chpl_task_sleep

[reviewed by @gbtitus]

chpl_task_sleep() was previously just a call to sleep(). This system call is
supposed to be intercepted by qthreads, and qthreads will perform
qthread_yields until the specified sleep time is up. If that doesn't happen
sleep, would cause the entire worker to sleep, preventing other tasks on the
same worker from running.

The system call interception does not seem to be working on darwin currently.
As a result any test with sleep() in it fails on darwin. We're working with
the qthreads team to figure out what's going on but in the meantime (and
possibly longer term) we will just perform what the syscall interception is
supposed to do directly.