Update Motor Forward to use Signal

The Motor forward function has been changed to use signals to terminate after the duration instead of time.time()