merged to r37017 from trunk
Add BLF_gettext(msgid) for C, and blf.gettext(msgid) for Python.
Enable the po&pot update system, simply with two python scripts.
Almost complete the i18n system, including:
Copy unifont..ttf.gz from source tree to target datafile path( now ONLY works with cmake );
Set the locale the same with system's setting;
If need unicode font, unzip and load unifont when init ui styles;
Apply gettext() to labels in space_info.py, who are the main menu items.

Each of these should have been commit one by one. As they work well according to my tests, so I just lazily send a long list.
Modify the unifont.ttf to have a better look
Add i18n support for C code, and most menu items can be translated, now
merge from trunk r37405
accident when merge. revert to r37405
accident when merge. revert to r37405
merge from trunk r37405
translate left panel
handle View and Object menu
handle SpaceType and UserPref popups
merge from trunk #37722
right panel done
3D view, graph editor, etc. done
finish user preference dlg's input handles
complete space outliner, space node, space nla, etc.
merge from trunk 38379
select uiStyle according to UserDef and update lang-packs