Add const to kstream constructor parameter definition?
It would be handy if the parameter for the [`kstream::kstream(std::string& data)`](https://github.com/kaitai-io/kaitai_struct_cpp_stl_runtime/blob/7e420f9337eb31622bf289259424ca2d4f1dd5c4/kaitai/kaitaistream.cpp#L34]) were declared to be `const`.  The parameter is used in the initialization of [`std::istringstream m_io_str`](https://github.com/kaitai-io/kaitai_struct_cpp_stl_runtime/blob/7e420f9337eb31622bf289259424ca2d4f1dd5c4/kaitai/kaitaistream.h#L254) whose constructor [takes a `const`](https://en.cppreference.com/w/cpp/io/basic_istringstream/basic_istringstream) (see the third overload):  
```cpp
explicit basic_istringstream( const std::basic_string<CharT,Traits,Allocator>& str,
                              std::ios_base::openmode mode = std::ios_base::in );
```


My KSY looks like this:
```yaml
...
      - id: payload_bytes
        size: payload_size
...
```
And when I want to parse the payload, I want to write my code like this:
```cpp
    kaitai::kstream ks(recordPtr->payload_bytes());
```
but it won't compile because `payload_bytes()` is defined like this:
```cpp
        std::string payload_bytes() const { return m_payload_bytes; }
```
(note the `const`).

I think the `const` in the definition of `payload_bytes()` is generally appropriate; and, I see no reason why `kaitai::kstream` shouldn't be declared compatibly.

Thanks!
