Added "getFuncName(func)" function and test
Added "getArgs(func)" function and test

Added "getArgs(func)" function and test and renamed
"getFuncName(func)" to "getName(func)"
Refactored and added functions to "type" system
Added "get" and "set" function
Added unit tests for "get" and "set" functions
Added "buildValidatedFunc(types, func)" method