Hello Everett,
1) I have a non-membership site. Can visitors submit tags?
Yes, visitors/guests can submit tags.
2) Is there way to use the bad tag feature to disallow punctuation, uppercase letters, or spaces?
I do not believe you can disallow punctuation or spaces from being created into a tag, but you can periodically edit the ones that show up like that, or even merge them periodically with other similar ones, ex: “bikes” can be merged with “bike” if already existing, or if not, you can edit it to be changed to “bike” and that should affect all existing entries.
Also, in the Preferences tab, you can choose to convert all tags to lowercase.
3) Are the tags searchable? When visitors search across entries (with the EE search module), will they also be searching across the tags associated with those entries?
No, currently this is not possible.