Memory leak pass

Fix memory leaks

Fucnctions instance is now no longer mallocd()
Store all strings made by the lexer in an array that have lifetime
  contingent on SeExprFunc. This avoids memory leaks on parse errors.
  It also allows us to not copy strings in SeExprAssignNode and
  SeExprVarNode
Also dlclose() at destruction of FuncTable time