improved source manager

Improved the SourceManager class by stripping it of a few of its tasks. Its sole
purpose now is to collect named buffers of source code and assign IDs to them.
Loading files should be handled elsewhere, or at least should only exist as a
helper function in the manager. Also fixed quite a few issues with FileIds and
how they were used to index into the srcTable.