	The Implementation ID (IID)

These are strings that uniquely identify an implementation. The only
restrictions on these are that they be ASCII, begin with "OAFIID:",
and not contain the comma (','), square bracket ('[]'), or forward
slash ('/') characters.

If you are really at a loss on how to create these, here is a suggested format:
	OAFIID:program_name:YYYYMMDD
(where YYYYMMDD is the YearMonthDay thing).

The only absolute requirement about these is that they uniquely
identify an implementation - if you have to start taking md5sum's of
/dev/urandom to accomplish this, so be it. Human readability is a
"would be very nice" goal.

	The Activation ID (AID)

These are strings that tell how to bootstrap a specific object
instance. This means that environmental information such as hostname,
user, etc. They have the following format:

OAFAID:[IID,user,host,domain]

IID format has been described above. 'user' is the login
username. 'host' is a DNS domain name or stringified IP
address. 'domain' is a string describing what use area the object has
- normally this will be 'user' (XXX not clearly defined yet).

Manual creation of AIDs is unsupported - instead, just store and use
the ones returned by the activate() operation.
