Showing failure problem with with concurrent access.

This results in one thread getting stuck in a loop.
Use the least specific type.

HashMap -> Map so we can switch implementations.
Increase times to make failure more reliable.

I wasn't getting consistent failure with the shorter times.
Don't get stuck in the loop.

If we get an exception from the iterator don't catch it and re-try, this makes our loop safer from getting stuck and never returning.
Switch to ConcurrentHashMap for licenses.

This means that we shouldn't get any problems with concurrent access to licenses.
Merge pull request #1 from ox-it/WL-3171

WL-3171 Stop race condition at startup.