Only trigger completion callback with valid Trial

Previously it was possible to trigger the #on_trial_complete even if the Trial
wasn't legally completed (eg #complete! was falsey). This can occur if the user
reaches a #finished call before they reach an #ab_test call.