fix multibyte character issue

(1) Modify to use xhtmlspecialchars, xhtmlspecialchars_decode, xhtmlentities and xhtml_entity_decode instead of htmlspecialchars, htmlspecialchars_decode, htmlentities, html_entity_decode.
Htmlspecialchars, htmlentities and html_entity_decode use ISO-8859-1 for default encoding on PHP5.3.x. And this cause to break config.xml when switch language using different encoding.
For security reason, htmlspecialchars, htmlspecialchars_decode, htmlentities and html_entity_decode need to set correct second argument $flags.
Therefore I add new functions xhtml* to set default $flags to ENT_QUOTES and $encoding to system_get_language_codeset in pfsense-utils.inc.

(2) Add/Modify some language and character-code relative codes.
e.g.
In guiconfig.inc
-set_language($g['language']);
+set_language($g['language'], system_get_language_codeset());
In authgui.inc
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="<?=system_get_language_code();?>" xml:lang="<?=system_get_language_code();?>">

(3) Unify character-code to UTF-8.
Regenerate iso_3166-1_list_en.xml from ISO-8859-1 to UTF-8.
Set pt_BR encoding from ISO-8859-1 to UTF-8.
Regenerate pfSense.po and pfSense.mo of pt_BR from Mac OS Roman to UTF-8 (previous commit).

(4) Add Japanese to languege list in pfsense-utils.inc