source-records: Support source-record-language.

This adds support for the "language:" header at the top of a file
and stores the language in the source-record.
Better error handling.
Merge pull request #383 from waywardmonkeys/language-header

source-records: Support source-record-language.