protocol: switch interface strings to use an enum
Note: This is a potential replacement for !167 (merged), but I'm only filing this so it's backed up and easier to look at than a raw branch tip. I don't really like this approach and a better one is coming up
ei_handshake now has an enum of all interfaces and those interfaces are used to announce the interface version and elsewhere where the interface was previously used as string.
In response to !167 (comment 1826721)