Poll until status is completed.

		If status is 'notStarted' or 'executing' continue polling.
		If status is 'succeeded' return
		Else raise exception

		poll_freq option is in seconds

def WaitUntilComplete(self,poll_freq=2,timeout=None):
		"""Poll until status is completed.

		If status is 'notStarted' or 'executing' continue polling.
		If status is 'succeeded' return
		Else raise exception

		poll_freq option is in seconds

		"""
		start_time = time.time()
		while not self.time_completed:
			status = self.Status()
			if status == 'executing':
				if not self.time_executed:  self.time_executed = time.time()
				if clc.v2.time_utils.TimeoutExpired(start_time, timeout):
					raise clc.RequestTimeoutException('Timeout waiting for Request: {0}'.format(self.id), status)

			elif status == 'succeeded':
				self.time_completed = time.time()
			elif status in ("failed", "resumed" or "unknown"):
				# TODO - need to ID best reaction for resumed status (e.g. manual intervention)
				self.time_completed = time.time()
				raise(clc.CLCException("%s %s execution %s" % (self.context_key,self.context_val,status)))

			time.sleep(poll_freq)