p-util.c Cleanup

- Removes duplicate code in the player_can functions.
- Adds player parameters to most of the functions.
- Restores the function calls that were reverted in dd17148e286.
- Removes a redundant check for 1790 (see comments).