Split get_source_file into it's own function

Mainly to make debugging a little easier.

Also improve the documentation for lint and add some simple package
documentation.