Added library functions

stringhelper provides:
string.at(pos) - returns character at position pos
string.split(sep) - splits a string into a table by a seperating string
sep
string.slice(from, to) - alias for string.sub(from, to)

mathhelper provides:
math.round(num, prec) - rounds a floating number to prec decimal digits
(default 0)
math.signum(num) signum of number num
math.sgn(num) - alias to math.signum(num)

tablehelper provides:
table.slice(t, from, to) - returns a table with keys between from and
to. Only works on tables with numeric keys
table.map(t, fn) - applies function fn to every element of the table,
and returns the resulting table
table.filter(t, fn) - returns a table containing all elements from t
that evaluate the function fn to true
table.keyfilter(t, fn) - returns a table containing all elements from t,
whose keys evaluate the function fn to true
constructor T to create and cast tables:
t = T{1,2,3}
t = T(oldtable)
T-tables provide object methods for all table functions, so instead of
table.concat(t, ', ')
you can write the following with T-tables:
t:concat(', ')
This works for all regular table-methods, including the newly ones.
Adjusted for library functions
Adjusted for library function and enabled zone event