Support for more streams types (icecast, shoutcast, custom)

I removed status code and works with checking metaint exists instead.
Also had issues with the header parser and fixed it

This works with most of my streams now.

This needs of course some ruby-ifying.
In what situation are you getting nil for key or value? That would indicate a malformed header line...