try out the app MPoD from the app store. it claims to have the ability to stream from mpd's icecast output. I havent tried it but it sounds a lot less complicated that doing all that.
Real programmers don't comment their code. It was hard to write, it should be hard to understand.