Reduce the amount of time that Image{Input,Output}::create holds the lock

Reduce the amount of time that Image{Input,Output}::create holds the lock.
We need to lock while manipulating the array of create functions, but not
while we're *calling* the create function (which is the expensive part)
or doing other tasks. Also, for II::create, rearrange a little to reduce
the number of separate lookups in the map.

This should speed up OIIO's file open time when multiple threads are trying
to open image files simultaneously.