Various fixes

I gave this code a try and here is a branch with quick and dirty fixes.

channel.recv() method is (ab)used in the code and already receive data is not buffered to be used in next phase/step of SCP protocol.

In the same time, when remote scp command fails, the error is not converted into a SCPException.

I have just sent to code, in case someone find it useful.... it does not contain any tests.

Many thanks for the work on this module!

Cheers