Implement repo tags

Need to write tests for all this stuff, but repos can now be given tags on creation, and repos can be browsed by tag. See commit comments for details. Or just ask me. Etc.