ensure transport is closed even on disconnect

git-svn-id: https://svn.apache.org/repos/asf/qpid/proton/branches/examples@1621948 13f79535-47bb-0310-9956-ffa450edef68
refactor logic for better readability

git-svn-id: https://svn.apache.org/repos/asf/qpid/proton/branches/examples@1621949 13f79535-47bb-0310-9956-ffa450edef68