Fix deciphering messages

@bfulton @nahiluhmot 

Solves the same problem as #53 but breaks it out of Docker::Util.  Hopefully much cleaner now than the original implementation.