SWIG: make wrappings compatible with SWIG v3.0.0

- %typemaps_string_alloc() has an extra argument
- structs containing pointer-to-const members now
  need SWIGLAL(IMMUTABLE_MEMBERS(...))

(cherry picked from commit 4558d05958962d8240e19651c72dc1699fa63807)