The most productive thing is to quit. Anyone who, in 2014, is still not paying interns is most likely not someone who can teach you anything. There is still plenty of time to find another internship for the summer.
Most employees starting at a new business have no idea what the internal processes are. That applies to programming frameworks just as much as the procedures for refilling the coffee maker.
That basic learning is takes place in the first days/weeks of anyone's new job. There is no basis that the employer should not pay him just for not knowing how to 'hit the ground running'.
He would be much better off taking the time to look for other opportunities.
Doesn't matter. Unless it's for a short period of time to fulfil a requirement for an educational course, then there's no need to be doing this. If your friend wants to work for no direct monetary incentive, tell him to contribute to open source, as at least he can build a reputation and also reuse his efforts in future.