Rewritten most of the code in lab5

All code in string.h has been rewritten, mostly modified from earliter commit. However now uses deep copy. All tests in main.cpp working except operator+.