Provide from_offset convenience method that allows negative offsets
from the end of an array/vector and never extends beyond the array/vector bounds
It returns Option<&T> in keeping with the default get() method
and because the array or vector may still be empty
Trait with extension methods to manipulate substrings by character indices
behaving like similar methods in other languages
Trait to allow all main signed and unsigne integer
where negative values are treated as offsets from the end, defined by length
-1 == length -1
0 == start
1 == second position
should values fall outside the range