Refactor the mysql special handling for updating sales - Django 1.6's transaction management falls apart when any db exceptions occur, so we need to check for mysql explicitly rather than using exception handling to detect it. Closes #172.