Improve documentation consistency
Expand install instructions
Use printf in tests instead of echo
Add git status check to functional tests

- Don't proceed with test if working tree is dirty.
- Provide message about whether passed.
- Give non-zero exit code on error.