Don't use chunked encoding on range requests

If the client is requesting a partial file, don't use chunked
encoding.  This makes video files work in iTunes.
Add User-Agent detection for iTunes video playback on OSX

iTunes on OSX has a different User-Agent when playing back video
files.  Detect this so we can deterimine his codec support.
Fix crash with an empty buffer
Fix issue with many WMA audio files not being recognized