Add modules for ICU

git-svn-id: svn+ssh://svn.code.sf.net/p/gramps/code/trunk@21271 4ae1f11a-8b86-4847-b8af-ab372f36d1fd
GrampsLocale: Extract function __init_from_environment

git-svn-id: svn+ssh://svn.code.sf.net/p/gramps/code/trunk@21272 4ae1f11a-8b86-4847-b8af-ab372f36d1fd
GrampsLocale: Make maclocale.mac_setup_localization() set glocale attributes directly

git-svn-id: svn+ssh://svn.code.sf.net/p/gramps/code/trunk@21273 4ae1f11a-8b86-4847-b8af-ab372f36d1fd
GrampsLocale: Introduce GrampsLocale attributes currency, calendar, and collate

git-svn-id: svn+ssh://svn.code.sf.net/p/gramps/code/trunk@21274 4ae1f11a-8b86-4847-b8af-ab372f36d1fd
GrampsLocale: Replace locale.strcoll, locale.strxfrm, and conv*_tosrtkey

With GrampsLocale.sort_key (for strxfrm and conv*_tosrtkey) and
GrampsLocale.strcoll.

If ICU is available will use the correct ICU::Collator for the locale,
otherwise falls back to locale.strxfrm -- for which it temporarily
changes the LC_COLLATE locale.

git-svn-id: svn+ssh://svn.code.sf.net/p/gramps/code/trunk@21275 4ae1f11a-8b86-4847-b8af-ab372f36d1fd
Handle junk at the end of revision strings

git-svn-id: svn+ssh://svn.code.sf.net/p/gramps/code/trunk@21276 4ae1f11a-8b86-4847-b8af-ab372f36d1fd