Fix crashes when source files are empty.

Check for nil more often.
Updated specs and fixtures.
Empty files also appear in cobertura xml report.