mcproxy: protect multi-threaded access to membership details
Added a lock to protect the mcast_stats list. This list is read and written asynchronously from IGMP receiver thread (adding and deleting items when certain multicast messages are received) and from the main thread (updating and reading items, list erasing). Synchronisation is needed to avoid race conditions and crashes.