Adapter that takes a JDK 1.5 java.util.concurrent.Executor and
exposes a Spring TaskExecutor for it.
Also detects an extended java.util.concurrent.ExecutorService, adapting
the AsyncTaskExecutor interface accordingly.

Note that there is a pre-built ThreadPoolTaskExecutor that allows for
defining a JDK 1.5 ThreadPoolExecutor in bean style,
exposing it as a Spring TaskExecutor directly.
This is a convenient alternative to a raw ThreadPoolExecutor definition with
a separate definition of the present adapter class.