(1) Errors from subprocess were not executing the callback in some cases
(2) Added support for max hops on windows and unix
(3) Refactoried parsing of the traceroute output (last line of data was getting truncated on osx)