MNT: Move the Piecewise function to a separate module

Reasons for solving this issue:

  • The function.py file is already quite big (more than 3.5k code lines).
  • We should define each class in a separate file, this makes the lib more readable.
  • There is absolutely no need to define the Piecewise Function class in the same file as the Functionclass

Steps for accomplishing a solution to this issue:

  • Create a file named rocketpy\mathutils\piecewise_function.py
  • Move the class PiecewiseFunction(Function): definition to the new file
  • Updates the mathutils/__init__.py file to ensure the imports are working
  • Run the tests (make pytest) and verify everything is working properly
  • Beware of potential breaking changes. What is the behavior of the following command before and after the changes?
from rocketpy.mathutils.function import PiecewiseFunction