Add comments to explain hardcoded encodings

- Before the connection with Neovim is initialised we need to assume
  an encoding for some values
- Python3: the value of &encoding needs to be converted to Unicode,
  to be used later - we just assume ascii
- The metadata object values need to be converted to Unicode to be
  usable function names for Python3 - we assume utf8, since the metadata
  object is generated from utf8 code
Override *decode_str* for each function call

- decode_str can now be used a keyword argument for all
  function in the API