Added tests and fixed an edge case where computing the gross profit
resulted in a division by zero. This happened in production with a zero
ordered quantity on a sales order line and a negative product
availability value.
Also added some test cases to ensure that the calculations for GP and GP
% are correct across logically different cases.