Rebooting was a bad idea.
And, even if it could run, mkinitcpio wont fix this.
You have a borked upgrade that only begun to be applied when it failed, which would be a partial-upgrade state in and of itself.
But it also failed trying to extract the upgrade for systemd (in relation to pam) .. which would also be a problem.
What you need to do is … ah, @zbe beat me to it.
Note: If it is truly that single error/file then the package would be systemd .. you should not need to remove/redownload all other systemd-* cached packages.
Also .. theres some guides around .. like this one: