Adds module_dependencies; moves things to Abstract

Adds get_module_dependencies function to AbstractParameterType and ParameterFunctionType and exposes the function in ParameterContext and AbstractCoverage (as a @property).

Reworks function_map structure slightly and fixes get_independent_parameters and get_dependent_parameters

Moves numerous common functions into AbstractParameterType