params.Entity preparations

This PR is a grab bag of changes aimed at isolating all the places where we pass a string to params.Entity and convert them into taking a names.Tag. 

This PR isn't complete, there is still more work to be done before params.Entity.Tag can be made into a names.Tag, but it is a good checkpoint as it gets rid of all the mustParseXXX methods added in a previous PR.
Can you confirm for me that this won't break API compatibility? I'm guessing that API serialisation will convert the tag to a string (using String()) and if the other end is older code using string tags it gets the string and otherwise the string gets turned back in to a Tag (tags are just structs containing a single string after all). Is that about right?

Have you tried mixing and matching clients and servers from pre and post this change?