Added callbacks for shutting down the host

You can now set up winsparkle with two callbacks:
ShutDownPollCallback and ShutDownRequestCallback.

ShutDownPollCallback asks the application if it's ready to shut down

ShutDownRequestCallback shuts down the application.

These can be set by implementing the functions and calling

win_sparkle_set_shutdown_poll_callback(&shutDownPollCallback);
win_sparkle_set_shutdown_request_callback(&shutDownRequestCallback);

If this is not set, WinSparkle will not try to shut down the host.
Added missing reminder to fix implementation
Provide UI when waiting for host app

Now we continuously poll the host if it's ready to terminate (every .5
second) in a thread while displaying an indefinite progressbar to the
user and telling him that we are waiting for the host to terminate.
Untabify

Use spaces instead of tabs. Also change "since version" to 0.4
winsparkle.h no longer imports from src folder

As pointed out by @Vaclav Slavik the public API should be separate from
the private one.
Don't poll host app for termination

Instead of polling the host app for termination we now just display a
message to the user saying that we were unable to shutdown the
application at this time and presenting them with a retry button. If the
application isn't ready when the user presses the retry button nothing
happens. Otherwise we launch the installer and terminate the host.
Merge branch 'master' into shutdown-on-update
Remove unused winsparkletypes.h.
Add public types for callback functions to winsparkle.h.
Fix defects in win_sparkle_set_*_callback() implementations.

Must be wrapped in exception catching. Remove superfluous 'return;'.
Improve callbacks documentation.
Make the callbacks explicitly __cdecl.
Move callbacks handling into dedicated ApplicationController class.
Simply UI when the app can't be terminated.

A modal message dialog is more appropriate for this situation, so use
that instead of another state of the updater window.  Makes for much
simpler code as well.
Rename "shutdown_poll" to "can_shutdown".

The function is not really used for periodic polling, so the name didn't fit.
Remove testing code from the example.

Keep the example simple.
Merge branch 'shutdown-on-update'