Fixed tags and set to use content hashes.

So, tags aren't useful unless they hash the contents of a file, rather
than the mere name. This way, there is no collision. This also means a new
problem, however. When one searches a tag, one will now get hashes back,
instead of file names, which is less-than-useful. We can take a list of
paths and stick them into the same hashfile that holds the list of tags,
since it's all YAML anyway, but now we will have to handle garbage
collecting old paths, since they could have moved. Perhaps the simplest
way to do this is to simply verify that the path exists, but that will be
problematic with multi-machine scenarios. Perhaps if the path includes the
machine name? Except that will be problematic with dropbox arrangements.

Clearly, some thought is warranted. For now, this is complete, though I
wouldn't call it v1.0.0 just yet.
Merge branch 'master' of https://github.com/tokuchan/tag