Made shared pointer atomic
Added lightweight copy of strings.
Still need to make mutation semantics consistent.
added mutation semantics. [] operator could lead to confusion. Non-const [] operator may produce a clone, which is not at all apparent syntatically.

Need to optimize shared count, that thing takes for ever.