BUG: Fix obscure race condition on access thread pool initialization

A race condition can occur when accessing the
GlobalDefaultUseThreadPoolIsInitialized flag before a lock is
obtain. Under the assumption that the Get method is designed to be
concurrent thread safe while the Set method is not, after the lock is
obtained for the initialized flag we need to recheck the flag in case
it changed by another thread who held the lock.

Additionally the initialization flag was not being set unless the
ITK_USE_THREAD_POOL environment variable existed.

Change-Id: If358159a2de4110d993193082f54c160c0020850
Merge topic 'FixObscureConcurentGlobalThreadPoolIssue'

e40b3765 BUG: Fix obscure race condition on access thread pool initialization