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.
Not sure if unsafeContentTag is necessary as the default is escaped and that just adds another method to worry about. But if enough people think that's the way to it's be easy to change, I just think it's redundant really. 




—
Sent from Mailbox

On Tue, Jul 15, 2014 at 1:09 PM, Jonathan Garbee <notifications@github.com>
wrote:

>> +	public function tag($name, $attributes = array(), $open = false)
>> +	{
>> +		return '<'.$name.$this->attributes($attributes).($open ? '>' : ' />');
>> +	}
>> +
>> +	/**
>> +	 * Returns an empty HTML tag of type name.
>> +	 *
>> +	 * @param  string  $name
>> +	 * @param  mixed   $content
>> +	 * @param  array $attributes
>> +	 * @return string
>> +	 */
>> +	public function contentTag($name, $content = null, $attributes = array())
>> +	{
>> +		return '<'.$name.$this->attributes($attributes).'>'.$content.'</'.$name.'>';
> I think it would be better to create a second function. called ``` unsafeContentTag ``` so it is pretty clear that it could lead to a vulnerability when typing.
> ---
> Reply to this email directly or view it on GitHub:
> https://github.com/laravel/framework/pull/5089/files#r14945176