Remove hard-coded thread pool size for Async tasks.

Made it configurable via system properties, and added some infrastructure classes to implement different types of configuration stores. All configuration stores should migrate to this design in the future.
Checkstyle might start rejecting this formatting soon. (whitespace before/after parens, newline before catch).