create temporary files in an instance-specific temporary directory

Don't use the system temporary directory, since it may have
only limited space available.
store runProcess.sh in builder instance temp directory

Updated daemon library to support copying externalized resources
to a specified directory.

This continues the process of storing all of the builder's
temp files to a builder instance temp directory that is created
when the builder starts.
update .gitignore to ignore builder instance temp dirs
allow jvm options to be specified in the builder's cc.properties

In particular, we want to allow -XX:-OmitStackTraceInFastThrow to
ensure that all NPEs are logged with a stack trace.
fixed logging of compile errors
debugging weird subprocess issues
pass SIGTERM through wrapper script to actual test process

If the builder wants to forcibly stop a test process, then
it calls killProcess on the ProcessRunner, which in turn
calls Process.destroy on the test subprocess, which sends
SIGTERM to the subprocess.  HOWEVER, the immediate subprocess
known to Java is actually the wrapper script, so all this
accomplishes is killing the wrapper script, leaving the real
test process running!

Created a new version of the wrapper script, runProcess2.sh.
It catches SIGTERM and delivers it to the real subprocess.
changed default C test exe name to "cctestprog"

This will make it somewhat more distinctive when it appears
in process listings.
address issue #69: let user know he/she needs to click a course

It can be a bit confusing that some of the UI elements aren't
activated until a course is selected.  Let the user know to
click on a course to get started.
AceGWT update
always show actual result for ruby tests (including successful tests)
report python NameErrors as CompilerDiagnostics (issue #67)

Not quite complete: I couldn't figure out how to get the line
number of the line where the NameError occurred.  Why this isn't
easily accessible from the traceback is beyond me: the structure
of PythonExceptions seems quite baroque.  I'm guessing I'll
figure it out eventually
report correct line number for NameErrors (as CompilerDiagnostics)
Major refactoring of TestPythonFunctionBuildStep

Factored generation of test scaffolding into a separate step
(AddPythonFunctionScaffoldingBuildStep.)

Improved the capturing and reporting of diagnostics: all
exceptions that occur during "compilation" are now reported
as CompilerDiagnostics.  (For example, missing imports are now
reported as CompilerDiagnostics.)
added copyright header
major refactoring of ruby and python testing code

Handle exceptions from invoking ruby test method(s) gracefully:
the previous code didn't even attempt to handle them, leading
to a situation where no TestResults were produced.
Now the common case of referring to an undefined variable or
method is handled nicely (producing a CompilerDiagnostic), and
there is a catch-all case for other (currently unexpected)
kinds of exceptions.

Also, did some refactoring of the python testing code.  Factored
the IsolatedTask into a standalone class.  Factored out the
utility methods for creating a "dynamic" compilation result so that
they can be shared with the ruby testing code.

We should be a lot closer to robust Python and Ruby support at
this point.
ensure that cloudcoder.builder2.tmpdir is set for development run
don't include test classes/resources in jarfile
added support for running JUnit tests against a Builder2 instance
more python unit tests

Also, preload PythonUtil in TestPythonFunctionBuildStep: I was
getting NoClassDefFoundError.