Vectorize PropsSI

Create a vectorized function called ``PropsSImulti`` that allows for state inputs and outputs to be vectorized, requires only a single creation of the AbstractState.

Only one input pair of variables is supported, but state inputs can be vectorized

Closes #359 
Closes #357
Closes #371