veyron/runtimes/google/namimg: allow 'addresses' to be stored in the mounttable and other 'cleanups'

It seems more natural to me to allow 'addresses' rather than 'names' to be
stored in the mount table, so that a name resolves to an address. In practice
we put endpoints in the mount table, represented as strings - i.e. not typed.
Before this CL the mount table would insist that all addresses be rooted names.
As an aside, there was bug wherebe such errors would not be reported to
the client which is fixed in this CL. This CL changes the mount table to
so that endpoint strings can be used directly without being turned into
names, there is still validation of these strings to make sure they
contain a correctly formed address.

In addition to the above, this CL 'cleans up' various inconsistent
uses of 'address' vs 'name' and changes some uses of Resolve to
ResolveX. In particular:

- the Endpoint interface now has a 'Name' method that returns a rooted
  name.
- the MountEntry type has two new methods:
  a. Names: to obtain a slice of names (endpoint plus suffix) replacing the
  ToStringSlice method
  b. MountedServers: to obtain the server addresses as rooted names
- MountEntry.Names, MountedServers or the values in MountEntry now
  cover all possible uses of the data returned by the Mount Table.
- Various 'modules' and tests have been updated to use 'names' exclusively.

We will need to push a new mount table for newly built clients to function.
Existing client/servers should work fine. I'll try this out on the new
'staging' setup if possible.

Change-Id: I4499fdf438a0e659c4fdc81ceed35c2b10fc596f
MultiPart: 1/3
46 files changed
tree: 92e5b1820e30ff6fcb5acd8e9585a000dad67c53
  1. lib/
  2. profiles/
  3. runtimes/
  4. security/
  5. services/
  6. tools/