added options to checks
restructured checks
pass options to checks
completed excessive parameter list check
formatted
added FunctionDeclarationNode and extracted shared base class FunctionNode