serf: add tag persistence using files
agent: add test for parsing tags file
Added command documentation for -tags-file in agent command and webiste.
command: simplified checking of tag conflicts in config options
agent: added test cases for agents with a configured tags file.
agent: updated tests to defer agent shutdown instead of directly calling it.
gofmt
serf: only try to persist tags if a tags file is configured
agent: deduplicated testAgent by making it a convenience function to testAgentWithConfig.
agent: fixed tests for tags file
Moved tags file persistence out of serf itself and into the agent.
Moved TagsFile config into *agent.Config and removed it from *serf.Config.

This changed the agent.Create() method (it now takes a *agent.Config as well as
a *serf.Config).

Updated all tests to use the newer agent.Create() syntax.
Merge pull request #180 from ryanuber/persist_tags

agent: Tag Persistence