some love for std.string

many functions of std.string had no attributes like pure, safe etc.
additionally, many const arguments where not marked as const.
tabs -> whitespace
removed tail whitespace
Doc Examples to unittest docs
This is an unconstrained template, so `@trusted` is most likely incorrect (think range with un-`@safe` `front`).