support for windows in ChangeAgentTools

The windows Symlink function checks for the existance of the source file before creating a symlink. If it cannot stat the file, then it errors. This is a limitation of how junction points work. You may not create a junction point (symlink) to an inexistent file.
wip
state.annotator now takes a tag
parseTag now takes a Tag
Merge pull request #316 from davecheney/137-names-refactor-part-ix

137 names refactor part ix

* state.annotator now takes a tag
* parseTag now takes a Tag, rejects nil tags.
Merge pull request #226 from gabriel-samfira/windows-toolsdir

support for windows in ChangeAgentTools

The windows Symlink function checks for the existance of the source file before creating a symlink. If it cannot stat the file, then it errors. This is a limitation of how junction points work. You may not create a junction point (symlink) to an inexistent file.