[WIP] Query constructor API changes

I believe `ZEND_STRS` is in order, since `ZEND_STRL()` is the same as `strlen()`. `key_len` here includes the null byte.