Swaps out old string implementation for new one

While it currently compiles, running will probably cause horrible
errors. All things that mess with the actual implementation of
strings use the wrong type interface.
Updates error.c to new string implementation
Updates hashmap.c to new string implementation
Updates persist.c to new string implementation
Updates value.c to new string implementation
More new string implementation for persist.c
More on value.[ch] for new string implementation
String implementation...
More on new string implementation
Fixes some thing about new string implementation
Fixes string_length
Fixes unichar_to_value
Merge branch 'newstrings'