change Application to Systemic and Universal roles

The word Application is entirely misleading for describing the
various systems that form the execution context of your program, so
instead we'll have the role Systemic to express the notion of some
local system that we're running in the context of (operating system,
kernel, architecture, physical machine, virtual machine, virtual OS,
maybe even windowing system).

We also split out the role Universal to be done by any object that
needs a cosmically unique name.  The version must be well formed in
order to be suitable for naming.  Other version-like info can go into
a description instead (or, if it must be part of the name somehow,
into the auth attribute).  The crypto signature may or may not end
up being optional for various kinds of entities.  A physical architecture
is not distributed over the network, so is unlikely to have a checksum.