Maven project + code formatting
Remove dependency on java.util.concurrent package

- No need for any Executor; actually we don't switch to backgroundExecutor.
- Remove AtomicInteger, AtomicBoolean dependency. It seems that we just
  needed a reference in the original code, not the locking support.
Remove redundant codes

- callInBackground(...) method
- some generics usage
Trying to use it by GWT.
Make it GWT compatible

- Removing waitForCompletion(), because it is implemented by wait() and notifyAll,
  which are not supported by GWT.
- Actually waitForCompletion() was used in tests, but none of these usages is needed,
  because these tests were running synchronous 'calls'!