I found this review on Amazon for the Innergie mMini AC15 that has the best explanation for the standards and protocols used in USB charging so far.
I took a screenshot of the review in case it gets lost. But I don't want to plagiarise it, so I'm not copying the text out. To find the original review, search for "so how does the innergie mmini handle so many different types of devices".
In short, there are 3 standards used:
USB Battery Charging Specification 1.2
Chinese Telecom Standard YD/T 1591-2009
Divider Mode (used in Apple devices)
Looks like to charge all devices, a charger/battery has to somehow comply to all 3 at the same time. I know some chargers take the easy way out and have one port just for Apple devices, but the Innergie mMini AC15 and Sony CP-A2L somehow manage to do it on all their ports.