Add support for direct use of push to go slices without converting to
array using .slice().
Fixes#357
Also:
* Add classGoSlice and use it, to make it clear the type when debugging.
Enable the whitespace linter and fix the errors resulting from it.
Also:
* Remove unneeded golangci-lint config for disabled linters.
* Correct test number for panic in previous commit.
Fix array writes not being persisted by passing in writeable
reflect.Value when available instead of .Interface() which looses that
property.
Also:
* Use value.IsValid() instead of comparison with zero entry.
* Use propertyLength instead of literal.
Fixes#386