Network Status Page 2.0.0

The tooltips should now feel faster because there are only two AJAX requests
total, instead of one for every device that you look at. Users should use a lot
less total bandwidth if they roll the mouse over all of the devices.

The page now works by writing to a single file (data.json) instead of one per
host (data/host) in JSON instead of plaintext. It no longer uses infobox.php to
parse that plaintext into HTML, but instead the JSON is directly read by
JavaScript and parsed into HTML (still using jQuery, my favorite JavaScript
library, of course). Removed infobox.php.

Devices in the layout now use the same data source for the state color as the
tooltips, because of the single file, which makes adding more data to the
layout outside of the tips easier too. Only the device's name, state (color and
text), and aliases (if any) are on the layout now. Removed status.php.css.

Devices in the layout are all now the same size on the page, to benefit the new
automated layout, and to fix staggering issues.

The tooltips no longer get crunched to the right when showing devices more to
the right, especially on smaller devices, since it now has a fixed width of
600px (30/43rds of the container's fixed width) and the arrow moves instead.

Changed all 'px' units to 'em' in styles, to fix font size issues on mobile.

Specific changes to all tooltip fields:

- Date/times no longer show (x hours, minutes, seconds ago). In exchange, the
date/time displays show dates with more relative-to-now awareness, for example
the word "today" replaces days that equal today, "of MONTH" appears only for
non-current months, and ", YEAR" appears only for non-current years.

- Styles can be applied more readily with small JavaScript functions such as
b() - bold given string based on optional regex or entire input, dutf8() -
decode UTF-8, img() insert image on this domain, and more.

- UTF-8 strings now display correctly, such as the most-previously-broken one -
"Fedora release 19 (Schrödinger’s Cat)". Other strings that can be input by
humans, such as CPU model or a username as retrieved by the finger command, are
also UTF-8 decoded for future-proofing.

- Usage bars (disk usage, ink remaining) now list the percent inside of them.

- No tooltip field has any on-hover system tooltip anymore, as that would hard
to know about from a UI view.

- Units (bytes and hertz) now appear in a more standard way, and will always
appear formatted "3.2", or up to three digits before the decimal point, and two
after. If the number is too big to do that, the order of magnitude is bumped,
respecting the unit's expected magnitude bump (i.e. bytes are divided by 1024
and hertz are divided by 1000).

- There are no longer broken images slowing down some tooltip loads.

Specific changes to specific tooltip fields:

- Added the host full name, host IP, and host aliases (if any) to all devices.

- Added the operating system to all computers, detailing the model, number of
logical cores, and repoted clock speed.

- Added the total RAM, as reported by all computers.

- There are now multiple disks shown instead of internally totalling all disks
and displaying them as one (affects anon and hoover). The list of mounted
drives on each computer is no longer reported.

- Reworked how users/sessions are handled so they display in a hierarchy. When
many users are logged on to many sessions each, the display should be more
compact. Fixed a bug where user sessions remoting into niagara were ignored.

- Camera uptime data is not yet ported, though the most-recent snapshot stays.

- Printer uptime, job, ink, and tray data is not yet ported.