update client info upon contact, client list and admin client list

Added in order to support web-UI.
@ben-jones, can you please review this?
Do we really want to update the country every time the client connects? We don't currently support this, but what if I gave informed consent for Saudi Arabia, did measurements in Saudi Arabia, but only uploaded from another country?

More practically, what do we plan to use this for? We need to carefully consider how we treat this with respect to where we say results are collected and scheduling.