LPS-45262 Refactor LanguageImpl to use ResourceBundles

Hey Shuyang, 

this is the pull I promised to send to you properly rebased and commented. There is still more work that could be done but I just did not want to send too many changes in a row. 
I would personally apply the same refactor to LanguageImpl.format, because it has many resemblances to LanguageImpl.get. 

I would also deprecate LanguageUtil.get(Locale, String) as well. Looking at the places where it is used I personally believe it would be more clean to get the bundle or bundles and operate on them. We can reuse code and let the clients of the api to apply the behaviour they want in a more composable way. 

Just let me know what your thoughts are. 

Thx in advance.

P.S.: just in case you try test-localized-portlet is not working because of LPS-45146. If you revert the commits of that LPS you will have test-localized-portlet to work again.