Support custom tags file name

This is to allow using a custom tags file name instead of TAGS.
Can be anything under the project root, e.g. ```.git/tags```.
P.S. So why it's related.