If the language menu isn't present, don't change it.

As per PR #2651, the language menu was disabled (not rendered) if the settings.USE_I18N is False. Previously, code would alter that menu, whether or not it was present, resulting in a mis-formed language menu.

This PR adds a new public API for the toolbar get_menu(), which operates like get_or_create_menu(), except that it will return None if the menu is not found.

Docs also updated.

Tests pass.
fixes #2855
Merge pull request #2873 from mkoistinen/fix_phantom_language_menu

If the language menu isn't present, don't change it.
Fixed AttributeError: 'NoneType' object has no attribute 'populate'
Merge pull request #2876 from timgraham/nonetype_populate

Fixed AttributeError: 'NoneType' object has no attribute 'populate'
Merge pull request #2874 from digi604/fix-2855

fixes #2855 (sub menu bug)
Merge pull request #2871 from FinalAngel/develop

Tree and Sideframe changes