Cleanup printed output. Showtask list

 This change includes the following:
  * Display task list executing
  * Combine redundant messages
  * Check system requirements up front
  * Show error from main ant package build process on error
  * Check for existence of 'template' directory before accessing
  * Capture KeyboardInterrupt exception to gracefully exit on Ctl+C
key code and key alias code is optional, if not specified, the original impl will ask developer interactively. But if you use PIPE and subprocess.Popen, developer will just find the build process hang there.