client: when write file upload error XML to stderr, include user-friendly string
sample work generator: wait until transitioner has processed jobs before creating any more

Work generators create jobs (workunits);
the transitioner creates instances (results).
If a work generator tries to maintain a certain number of unsent results
(as the sample work generator does)
it must wait for a bit, after creating jobs,
to let the transitioner create instances of those jobs.
The example work generator waited 5 seconds.

Problem: on a heavily loaded project, the transitioner can fall behind -
minutes or hours behind.
So the above policy can create way too many jobs.

Solution: after creating jobs, the sample work generator
notes the current time X,
then waits until the transitioner catches up to time X
(i.e., until the min workunit.transition_time exceeds X).
This ensures that instances have been created for all the new jobs.

Other work generators the limit the number of unsent jobs
should use the same technique;
use min_transition_time(x) to get the min transition time.

Code cleanup: get_double should be a member of DB_CONN, not DB_BASE.
client: Fix typo which had no actual effect in practice.
Commit from Pootle Demo by user admin.: 2013 of 2798 strings translated (109 fuzzy).
Merge branch 'master' of ssh://isaac.ssl.berkeley.edu/boinc-v2
web: remove some mysql_* calls
MGR: On OS 10.8 and later, use new Mac user notifications to notify user when new notices are available.

 - Mac user notifications are similar balloons on Windows.
 - open BOINC Manager Notices tab if user clicks on notification.
Mac: Strictly enforce API compatibility with OS 10.5 when building BOINC Manager.
MGR: Fix copyright date.
VBOX: Change the VM CPU extension error back to ERR_EXEC, it was changed to ERR_TIMEOUT after the previous update.
VBOX: Attempt to prevent out of control checkpointing by temporarily exiting the task and letting BOINC clean-up the environment.  When BOINC restarts the task it should be able to restore from a previously good snapshot and resume execution.
VBOX: If we fail to successfully launch the VM, log out the VM state that VboxSvc believes it is before exiting entirely.
VBOX: Add text descriptions for the VM states we know about. Previously we only logged unknown states.
VBOX: If neither of the two cases we expect to see when we look to see if the VM is registered exists, we should dump out the input, output, and return value of vboxmanage.
VBOX: Fix the message prefix for some of the newly created log messages.
web: remove some mysql_* calls
MGR: Play default notification sound when displaying new Mac user notifications.
Merge remote-tracking branch 'upstream/master'