Fixed incorrect volume mol placement for surface reactions.

This fix should address a problem first reported by Bob via
email on 12/23/2014 where 3D reaction products would be
released on the wrong side of a cube.

In a nutshell, the problem was triggered when two surface reactants
would react with each other across an edge. Our product placement
algorithm would compute the location of the reaction according
to reactant A but then use the normal of reactant B's wall to
compute the final location of the volume product. This works
fine if both A and B are on the same wall but can subtly fail
during reactions across edges.
Improved misleading code comments.