another attempt to make deployment progress output more informative

PS: switching to synchronous [update/create/delete]metadata() calls of API30 is not an option because
they are limited in the number of components and also will "time out" in most cases
extract deployment progress display code to its own method to keep wait() more readable

also move overall status check below checkDeployStatus because there are mo chances that process will be done by then
"apex" connection should be reset when other connections are reset

otherwise withRetry{...} does not establish new connection