[Fix #597] Don't process incomplete messages unless sure


The bencode decoder started driving me nuts. So, I decided to have a look and it turned to be a simple fix. It is still not a full proof solution but, it covers 99.99%  of cases without wasting decoding cycles on incomplete messages.

It probably also fixes the related #583 and #586.