Add invertUnits option, and throw fatal errors on unexpected trade results