Refactors *Expression to *Function; adds value_encoding

Renames Abstract, Python, and NumexprExpression to Abstract, Python, and NumexprFunction

Adds support for value_encoding to ParemeterFunctionType
Adds cursory handling for function exceptions

Adds catch for exceptions raised during execution of ParameterFunctions - current handling is to return a properly-sized array full of fill_values.

Also adds replacement of NaN's with fill_value in returned array