how can I current-limit a Raspberry Pi 2 USB host port so phones/tables do not try to charge
Unfortunately what you want to achieve is not possible. The USB hub chip used in RPi is configured as self-powered, so if a device requests more than 100 mA during enumeration, this request will be granted. There is no way to reconfigure the USB hub (not with standard Linux drivers anyway) to limit slave devices to 100 mA.

What you can do is to tell your iPhone how much current it should draw. In fact, there is a program which does exactly that: setting iPhone/iPad current consumption to sane values so they are not dropped out then trying to charge. It should be trivial to modify it to restrict current consumption even more, so that your iPhone doesn't crash the RPi when attempting to charge. Of course, this program is strictly iPhone/iPad specific.

Another solution, as @nekomatic has pointed out, is to plug your iPhone (or any similar device for that matter) via a bus-powered hub. However, multiple sources on the Internet advise you NOT to use bus-powered hubs with RPi, because many such hubs simply fail to enumerate correctly, or enumerate devices connected to them, due to lack of power. Still, it may be worth trying.