String functions

This pull adds some string functions that I feel are a fairly complete, but basic set of string manipulation functions.

1. `str-length` - the length of a string
2. `str-index` - the first index of a substring in another string
3. `str-insert` - inserts a string into another string.
4. `str-extract` - extract a substring from a string.
5. `to-upper-case` - convert a string to uppercase.
6. `to-lower-case` - convert a string to lowercase.

All of them are documented and tested. Feedback on the api, etc is welcome. Did I miss any very important string functions?