Parse BCP 47 locale names with Unicode extensions

Locale parser is modified to handle BCP 47 locale extensions and
recognize numbering system specifications. This fixes incorrect
interpretation of an extension key as a region code.

Numbering system specification is stored in the configuration data,
however it's not used for best configuration selection yet.

Bug: 67508876
Test: build and run libandroidfw_tests

Change-Id: If4072b9f39e80f60d4567841afe9ce7a92979574
3 files changed