Add RunInForeground and make SvcStopEvent optional

RunInForeground allows one to use the same code path
for when running as a service and when running on the
console.

Improved documentation.

SvcMain_End() will now call ReportSvcStatus( Stopped ) for you.