EwsContact class or any similar class is not planed for the near future. You are the first one that asks about it, actually. So, EwsItemInfo.ToXml() is currently the only way how to get the information you mentioned.
ResloveName function is used when you know only a part of your contact, let's say "John". ResolveName function returns all names and email adresses, that contains "John", so it may result in: "John Smith", "Alice Johnson" and so on. Unfortunately, EWS does not returns id for the resulting items, so it is only useful to populate a list for a user of your application that some contacts are based on the contact part provided. Additionally, the resulting set contains maximum of 100 items, as stated in MSDN ResolveName operation page.