BackgroundTask may throw checked Exception objects.
BackgroundTaskExecutor now logs unexpected exceptions thrown by the background task.
ThreadPoolTaskExecutor now logs exceptions cannot be detected by client code (the task was submitted by the "execute" method and there is no cleanup task).
Added another simple test for ThreadPoolTaskExecutor. (also made the testing when the garbage collector calls the finalize method more robust)