The `model_functional` class in `src/stan/model/model_funtional.hpp` needs to be modified for efficiency and naming consistency. - [ ] rename to `model_functor` - [ ] add template parameters to the class for the `propto` and `jacobian` args