There was a period where we didn't generate unencrypted SSL certs
for nonlocal users; create them now (and generally create any
missing unencrypted/encrypted cert for active users).
Also, now renew certs for nonlocal users.

This commit is intended to makes the license status of Emulab and
ProtoGENI source files more clear. It replaces license symbols like
"EMULAB-COPYRIGHT" and "GENIPUBLIC-COPYRIGHT" with {{{ }}}-delimited
blocks that contain actual license statements.
This change was driven by the fact that today, most people acquire and
track Emulab and ProtoGENI sources via git.
Before the Emulab source code was kept in git, the Flux Research Group
at the University of Utah would roll distributions by making tar
files. As part of that process, the Flux Group would replace the
license symbols in the source files with actual license statements.
When the Flux Group moved to git, people outside of the group started
to see the source files with the "unexpanded" symbols. This meant
that people acquired source files without actual license statements in
them. All the relevant files had Utah *copyright* statements in them,
but without the expanded *license* statements, the licensing status of
the source files was unclear.
This commit is intended to clear up that confusion.
Most Utah-copyrighted files in the Emulab source tree are distributed
under the terms of the Affero GNU General Public License, version 3
(AGPLv3).
Most Utah-copyrighted files related to ProtoGENI are distributed under
the terms of the GENI Public License, which is a BSD-like open-source
license.
Some Utah-copyrighted files in the Emulab source tree are distributed
under the terms of the GNU Lesser General Public License, version 2.1
(LGPL).

This change attempts to make the stats gathering code more reliable by
not relying on the testbed_stats records to reconstruct usage
statistics. The main source of errors and total confusion in the
current stats code is that testbed_stats includes all the errors and
transitions, from which I have to reconstruct what happened in order
to determine usage by a project or user.
The new stats code still generates the testbed_stats code, but actual
usage is recorded as it happens, in the experiment_resources table, as
swapins, swapouts, and swapmods occur. Its also much faster to compute
the data for the tables in the web interface, not having to scan a
zillion testbed_stats records in php.
There is a time consuming update to the records that takes place with
a lot of tables locked.

First cut at a daemon that does regular checkups of the testbed
hardware/software.
* configure, configure.in: Add tbsetup/checkup directory.
* db/audit.in: Add a listing of stuck checkups.
* install/boss-install.in: Add 'elabckup' user.
* rc.d/3.testbed.sh.in: Startup the checkup_daemon.
* sql/database-create.sql, sql/database-migrate.txt: Add the
checkups tables.
* tbsetup/GNUmakefile.in: Descend into the checkup directory.
* tbsetup/checkup: The checkup daemon, man page, and
associated scripts.
* tbsetup/ptopgen.in: Add a feature with a value of 0.9 to
prereserved nodes to keep them from being allocated unless
they're really wanted.
* utils/firstuser.in: Add some other options so the script can be
used to create other pseudo users.

Add some checks for 'free' nodes that are not allocatable.
* db/audit.in: Include the list of nodes that are not reserved but
have an eventstate that makes them unallocatable.
* www/dbdefs.php3.in: Add POWEROFF and ALWAYSUP node states.
* www/nodecontrol_list.php3: Add an asterisk next to the free
count for type(s) that have free, but unallocatable nodes.
* www/shownodetype.php3: If a node is free, but unallocatable, put
a yellow ball next to its name instead of a green one.

I fixed a couple of minor problems, but mostly this worked fine. Note that
I have tested this with the installed perl, *NOT* perl 5.8. I am just
making sure this stuff gets committed before too much more bitrot sets in.