out of bounds fix

- Adds check for motor torque in efficiency function
- saturates speed solve to 0.
- breaks simulation if solves for 0 speed. This means the motorcycle cannot move forward at some point. the simulation should be re run with better parameters.

close  #50