initial commit of functions class. removes extension functions from engineAPI and puts them here.
added some instance aspects to manage function information
updated recurseInsert to use new functions class