Unit tests for host folder view callback object menu merging.

Currently they are still failing with an error about the menu handle being invalid.  Not sure why yet.  May be an issue with the winapi library menu class.
Sketch of an object to manage menu commands.  Not yet used.
Added missing thread to Boost build command.
Merge branch 'develop' into refactor/commands
Updated to latest version of winapi library.
Make menu insertion more robust with unexpected menu layout.

A hosting browser (usually Windows Explorer) might throw a really bizarre set of menus at us so we have to be prepared.  This change stops us running off the end if the Tools menu contains too few items.
Moved menu logic to menu_command_manager.

Removes all the menu-related code from ViewCallback where it didn't belong.
Merge branch 'refactor/commands' into develop