extend Result and Hdfs to emulate functionality from MonadPlus

this allows me to get rid of the `EdgeOp` class in maestro, and lets me implement some `upload` changes in a slightly nicer fashion