[macOS] memory_info_ex(): drop task_for_pid(), return `phys_footprint` (#2987)

`task_for_pid()` has historically been a pain. From the code:

```c
// - it can *block* forever, including for PIDs of our own user, see:
//   https://github.com/giampaolo/psutil/issues/2885
// - it's not documented
// - errno is set only sometimes
// - sometimes errno is ENOENT (?!?)
// - for PIDs != getpid() or PIDs which are not members of the procmod
//   it requires root
//
// As such we can only guess what the heck went wrong and fail either
// with NoSuchProcess or give up with AccessDenied. References:
// - https://github.com/giampaolo/psutil/issues/1181
// - https://github.com/giampaolo/psutil/issues/1209
// - https://github.com/giampaolo/psutil/issues/1291#issuecomment-396062519
```

So we drop it, and no longer return `peak_rss`, `rss_anon`, `rss_file`
and `compressed` fields in `memory_info_ex()`. This is not a big loss,
since `memory_info_ex()` on macOS failed with `AccessDenied` for all
PIDs except self.

Instead we now make `memory_info_ex()` return `phys_footprint` and
`peak_footprint`, by using `proc_pid_rusage()` syscall, which at least
succeeds for all PIDs owned by our user.

*IMPORTANT*: `phys_footprint` is VERY useful, because it's the metrics
reported by macOS Activity Monitor.

`proc_pid_rusage()` requires macOS 10.9, so with this change we also
drop support for macOS 10.7 and 10.8, which is not a big loss either,
because according to `print_downloads.py` script the total number of
downloads is literally **zero**.
10 files changed