Fixed s_strcpy to always copy the string.

This includes times when the size of distination is too small, in which case it allocates more memory for it.
Added a NULL check to s_strcpy after allocation.
Fixed the documentation to be up to date.
Renamed s_strcpy to copy_sstring.
Forgot to add 2 at the end of the function.
Made sure that it always is able to copy \0 sign.
Gave register keyword to 1st version and changed the 2nd version of copy_sstring.
Added new tests for copying strings.
Reduced the amount of loops.

They seem too much with slower operations.
Increased accuracy of the reported time.
Removed version 2 of copy_sstrings.
Fixed copy_sstring so that it doesn't include \0 in length.
Changed the return type of copy_sstring to int.

Reasoning being that this way it returns more useful info to the user.