Use onDidChangeModified instead of onDidChange

Fixes issue where onDidChange fires twice when opening a new tab
Fix test name
Update package.json
Add top-level explanatory comments to classes
Update readme
Merge branch 'documentation'