Use files.gitletPath everywhere

* Fewer nodePath.joins
* Can read and write the path created, rather than having a specific files.readGitlet fn
* gitletDir() can be private
Use files.repoPath everywhere

* Fewer nodePath.joins
* Can read and write the path created, rather than having a specific files.readRepo fn
* repoDir() can be private
rm more unnecessary requires
Make files.read() return undefined if file not there
rm refs.readSymbolicRefContent()
DRY up refs.readTerminalRef()