Merge pull request #30 from smee/master

use the wrapper class instances of `Connection` and `Channel`
Only recover connection if it was NOT initiated by the application

Recovery should only happen if the application itself didn't explicitely
trigger the `close` functionality. The recovery mechanism would else
prevent a complete disconnect.