Country admin report

@dannyroberts Can you check how I changed the string property to string list? I also changed wrap to attempt automatic conversion for the multiselect field. commit in question would be 831e897a52ddd78d869b2e195bcaacd8dcb9bd64. others are admin reports related.
This might be annoyingly slow, essentially traversing the whole list to find an element with a given key. I suggest making a global `COUNTRY_LOOKUP = {key: value for key, value in COUNTRIES.items()}` and then just doing a normal dictionary lookup, O(1) instead of O(N). In practice, it may matter not at all, but I think style-wise it just "looks more like what it is", which is looking up a value by its key.

Also, is there a reason you have to encode them to compare them? If they both start out as unicodes, they should compare just fine.