Unmerge #1476 and #1444

In that order. #1476 was an attempt to salvage the functionality, but
sinn3r found some more bugs. So, undoing that, and undoing #1444 as
well.

First, do no harm. It's obvious we cannot be making sweeping changes in
libraries like this without a minimum of testing available. #1478 starts
to address that, by the way.

FixRM #7752
Merge branch 'bug/unmerge-1444-and-1476' of https://github.com/todb-r7/metasploit-framework into todb-r7-bug/unmerge-1444-and-1476