astr: return nil from find/rfind with out-of-bounds arguments.

Respect the earlier calling convention of AStr.{r,}find, and
return `nil` for an out-of-bounds access.
* lib/zile/astr.lua (memchr, memrchr): Move from here...
(AStr.find, AStr.rfind): ...to here. They may call
alien.default.memrchr/memrchr, but have entirely different
semantics, so don't misname it.
(AStr.find, rfind): Use #self for buffer length, not
`\0`).
If called with `from` outside of #self.buf, return nil before
calling `memchr`.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>