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.
Updated NEWS for release 0.7.3.
Fixed bug that should never have compiled.

Unbelievably, DummyProgress didn't inherit from anything yet the
compiler was quite happy to let us use it as a Progress.  But when the
code tried to call a method it would crash, presumably because there
was no vtable.  How was this ever allowed to compile?!
Pump UI messages on synchronous drop.

Because we are no longer doing the transfer in a different COM apartment, which would pump messages during the call, the UI blocks on the drop.  That includes not showing the progress dialog.

Therefore, we pump outstanding messages every time there is an update.  I don't think this it the right solution, but we can't run the progress dialog in a different thread as that breaks the windows rules.

The UI is still not wonderfully responsive because it can only update a little each time the progress is updated.  We may be able to do better once we use libssh2's non-blocking API as then we can pump messages more frequently.

Closes #182.
Merge branch 'fix/sync_drop_ui_blocking' into develop
Centralise version information.

This make the resource (RC) file, the About dialog and the Winsparkle update initialisation get their version information from the same source.  This stops them getting out of sync and makes it easier to bump the version number.

There are still other files that must have the version number changed manually.  making_a_release.txt lists these.
Merge branch 'feature/version_from_resource' into develop
Updated Welsh translation from Transifex.
Bumped version number to 0.7.4.
Updated NEWS for version 0.7.4.
Merge branch 'release/0.7.4' into develop
Merge branch 'feature/async_drop_target' into develop

Conflicts:
	swish/drop_target/DropUI.cpp
Fix showing/hiding file extensions.

We were misunderstanding the SHGDN flags to GetDisplayNameOf. We were assuming Explorer would set the SHGDN_FORPARSING flag if the user settings meant they wanted to see the file extension.  But Explorer doesn't tell us whether the user wants extensions or not.  We have to work that out for ourselves.  The FORPARSING flag just *forces* extensions on in case the system needs them to parse them.  The result for us was that we kept returning the name without the file extension because that was what we thought we were being asked for.

This change makes Swish decides whether to show extensions based on the settings in the registry.  Thanks to Chaot_s for pointing us to the registry keys.

Addresses #90.
Only hide extensions of known file types.

The previous change was hiding the extension of all file, if the user had "Hide extensions for known file types" set.

This change looks up each file's type in the registry to decide whether to show the extension based on the presence of the AlwaysShowExt value.  The "Unknown" file type includes that value, so this change fixes the problem and also takes care of other file types that should always show their extension regardless of user setting.

Closes #90.
Merge branch 'fix/file_extensions' into develop
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.