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?
The informed consent piece makes sense, but the aggregated IP won't work from the client side because the client could be behind a NAT. It sounds like we should get the country per https://server.iclab.org:8082/geolocation, then add this to a field in each results file. Though perhaps this would be problematic for users that don't want to be seen connecting to us?