Fix "file changed on disk" emacs prompt

When the buffer for an extracted source file already exists,
just switch to the buffer for better performance.
Add unit tests

Test edge cases of sourceFileCandidates when "$"'s are involved
Update documentation of :reference-source-roots
Fix unit tests for scala 2.9
Merge pull request #408 from edani/reloadfiles-master

Apply the unit test fix for #400 to master
Merge pull request #405 from edani/source-jars-master

Fix outstanding issues with source jars