Add support for nested jobs, caching, and performance enhancements for job status updates

Yeah this method always has to retrieve the list of jobs from the server since this is used to display the list of jobs to choose from. The cache in there is only to stop the second call that CCTray seems to make when opening the job selection screen for some wierd reason. Not noticable on a local jenkins server, but try it against apache.org !