stdlib/strings: Abstracted functions common to all Text representations.

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>
stdlib/strings: Moved append to Buffer, now works on all known variants of Text.

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>
stdlib/strings: Moved String as abstract, FlatString now the name for array-based Strings.

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>
stdlib/strings: Fixed behaviour for substring_from, returns an empty string instead of crashing when from < 0.

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>
stdlib/strings: Modified constructor for Buffer, now works with any kind of text.

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>
stdlib/strings: Added flatten service.

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>
stdlib/strings: Generalized to_cstring to all Text representations.

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>
stdlib/strings: Added reversed service on Text and subclasses.

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>
stdlib/strings: Added cache for efficency when calling to_cstring on FlatTexts.

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>
stdlib/strings: Abstracted hash (breaks hash on Buffer temporarily)

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>
stdlib/strings: Added cache on Buffer.

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>
stdlib/strings: Repaired hash for Buffers.

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>
stdlib/strings: Minor style fix

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>