The W3C validator finds any "&" symbol as markup errors. Using just "&" in URLs is a bad practice as something like "©=3" can make the browser interpret it as "©=3".
My suggestion: Change every "&" character under "public function url ()" in Template.php to its HTML equivalent:
& amp;
That solves the problem and doesn't break stuff. Howerver, the preg replace in:
return $serverProtocol.preg_replace('&/{2,}&', '/', "$serverAddress/$url");
May be redefined.