Love all of the additions DChapman, but I have a problem...
I've got 25,000+ existing threads and I don't think I can expect all of the thread owners to go back through them and tag them up.
If I open up the tagging of threads so that all registered users can do it, then they could remove tags that others had set.
You know what I'm going to ask for right?
Could you add in the next major revision the ability to allow all registered users to tag any thread.
Now, I know what you're thinking... it's not really set up for this, and it would be really messy. But it doesn't have to be.
If you created another table that stored the userid, threadid and a single tag, you could easily store user level tags per thread. Then, every time they get updated you could select the distinct tags per thread and update the existing table with the top 5 tags to display.
When a thread was created it would insert into the new table as well as the old.
And searches would of course go against the new table, with a join to the old.
Aren't I lovely? Look, I thought about it, and now I've gone and given you a great feature to add

(Yeah, I'm a pain in the arse and really should code it myself

)