Adding string-to-codepoint

Two syntaxes supported:
1. .ToCharArray(), which maps to string-to-codepoint
2. string[x], which maps to string-to-codepoint(string)[x]
Adding codepoint-to-string
Adding contains()
Adding starts-with()
Adding string-join()
Adding lowercase()
Adding string-length()
Added substring
Refactoring AQL function calls
Adding avg() and refactoring tests
Adding sum()
Adding min() and max()
Adding support for edit-distance() and edit-distance-check()

These are the first "RemoteOnly" functions, where a .NET BCL equivalent was not used and the function cannot be evaluated locally.