Add reference counting and lifecycle to modules
Cleanup module handle list structure
Git rid of an unneccessary class intermediary IFunctionExpr