Fadvise

Merge #2988  & #2964 into together. And add test case.
 @liewegas , bypass make check & plz review. Thanks!
adding a default argument is unfortunately also an ABI change, so it'll need to be new methods for these too