Fixed "System.InvalidOperationException: Collection was modified" during service startup

As noted by Ollienator in
https://github.com/MPExtended/MPExtended/commit/25f93d263dde1cf37b80344a791eafb63fb158c7#diff-a91b3c24b081341356d4fe00121e62cc
the following error is sometimes thrown:

System.InvalidOperationException: Collection was modified; enumeration
operation may not execute.
at System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource
resource)
at System.Collections.Generic.List`1.Enumerator.MoveNextRare()
at System.Collections.Generic.List`1.Enumerator.MoveNext()
at System.Linq.Enumerable.WhereListIterator`1.MoveNext()
at System.Linq.Enumerable.<SelectManyIterator>d__14`2.MoveNext()
at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
at System.Linq.OrderedEnumerable`1.<GetEnumerator>d__0.MoveNext()
at System.Linq.Enumerable.Any[TSource](IEnumerable`1 source)
at
MPExtended.Libraries.Service.Network.NetworkInformation.LoadIPAddress()
in
E:\Source\MPExtended\Libraries\MPExtended.Libraries.Service\Network\NetworkInformation.cs:line
98
at
MPExtended.Libraries.Service.Network.NetworkInformation.GetIPAddressForUri()
in
E:\Source\MPExtended\Libraries\MPExtended.Libraries.Service\Network\NetworkInformation.cs:line
78
at
MPExtended.Libraries.Service.Hosting.BaseAddresses.GetForService(String
serviceName) in
E:\Source\MPExtended\Libraries\MPExtended.Libraries.Service\Hosting\BaseAddresses.cs:line
36
at MPExtended.Libraries.Service.Hosting.WCFHost.CreateHost(Plugin`1
plugin) in
E:\Source\MPExtended\Libraries\MPExtended.Libraries.Service\Hosting\WCFHost.cs:line
86

Since the order of the "Loading service " logging output is not always
the same I suspect the services are loading in parallel causing a race
condition where NetworkInformation::GetNetworkInterfaces initialises
_interfaces more than once. To fix this I've put a lock guard around the
contents of the method so subsequent threads will block until
_interfaces is fully set up