Advise the operating system on the access pattern of this data. On unix-like systems this can be
used to allow the operating system to page memory in and out more efficiently. This is used
extensively by allocators, and will only improve performance in real programs in rare
circumstances.
Raw advise wrapper with proper error handling. This enforces the same contract as
libc::madvise. Specifically, ptr must be non-null and the data between ptr and ptr + len
must be initialized.