Dynamic/static arrays: Fix some doc errors

Split out the less controversial fixes from https://github.com/D-Programming-Language/dlang.org/pull/623:

Fix some documentation errors, around dynamic array semantics and static array syntax.
- Add a note about the need for assumeSafeAppend in order to regrow a dynamic array.
- Add examples for static arrays as lvalues (for copying and setting).
- Soften an over-strong claim in ctod.dd.
- Also tweak some heading levels and such.
I think `s[] = 3;` is one of the "array vector operations", like the following:
```d
auto a = [1, 2, 3];
auto b = [2, 3, 4];
int[3] c;
c[] = a[] + b[]; // Array vector addition
assert(c == [3, 5, 7]);
```