Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit '107bcbd3dfff51895c99ea3ff71afa0ce693a956':
Implement support for using H5Dvlen_get_buf_size with non-native VOL connectors.
Two fixes: (1) Set the version for reference datatype messge to H5O_DTYPE_VERSION_4. (2) Verify the decoded version for hyperslab selection.
Add H5VL_MAP_OPTIONAL operation id (unused currently).
Fix H5VL_token_t type and fix H5VL_loc_by_token to use H5VL_token_t *
Change hdset_reg_ref_t and H5R_ref_t from arrays of unsigned char to structs containing those arrays. Encapsulating the arrays in this way makes it easier to write and think about pointers to these types, casts to/from these types, etc.