Don't die on empty files.

the mime encoding of empty files is detected as 'binary' and subsequent
binary->utf-8 encoding fails.
Merge pull request #153 from exi/empty-file-fix

Don't die on empty files.
Some docblock love
Added source to xml tokenizer, cleanup in collection process, minor performance tweaks