Add tag and contentTag methods to HtmlBuilder

This pull request implements the feature mentioned in Proposal #5087. See the proposal for more detailed information.

It adds a tag and contentTag method to the HtmlBuilder class, and also adds a few helper methods to make them easier to use in views. Although I didn't do it in this pull request, HtmlBuilder and FormBuilder could be rewritten to use these additions to simplify the existing methods like `link`, `image`, etc. I think this would be an improvement over the manual create of html tags in each method.
Saying unsafe in the function name makes it very clear that what is being done can lead to security holes. It is just a way to re-enforce a developer shouldn't be doing what they are doing. A simple true/false parameter people would give no second thought to turning off without understanding the consequences.