Fixed bug where exiting inferior would lock up.

The NativeProcessLinux waitpid thread sends the synchronous state
change notifications for the inferior.  GDBRemoteCommunicationServer
was modified to route through a call where FlushInferiorOutput was
called.  This causes the waitpid thread to join on the flushing of
the output, which (currently) requires the process to fully exit
before the join succeeds.  This won't happen since the waitpid
thread is now blocked.

Modified the thread status method to take a flag, and does the
flush when called from the llgs gdb remote command $k handler,
but skips the flush when the ProcessStateChanged() delegate method
is called.