fix multiple encoding in nested templates
Ensure that $str == $f3->decode($f3->encode($str))

Base::encode would not encode existing entities which is a problem since hive variables are always entity encoded (via Base::encode) and then decoded again if the user disables escaping either by setting the ESCAPE hive variable to true or using the `raw` template function.

So if we have a hive variable with HTML we want to insert verbatim, then this was previously not possible, if that HTML code contained HTML entities.
Merge pull request #656 from sorbits/full-entity-escaping

Ensure that	$str == $f3->decode($f3->encode($str))