[Debugger] Implement deferred attaching for sdb.
License: MIT/X11

Squashed commit of the following:

commit 5e960e4812b492a511871694a2e77e8db88b2260
Author: Levi Bard <levi@unity3d.com>
Date:   Fri Feb 4 12:50:44 2011 +0100

    Add information about suspend suboption to mono man page.

     * mono.1: Add information about suspend suboption.

    License: MIT/X11

commit ee859cf9a82b53aeacf5e4b8ca01bf753e25af69
Author: Levi Bard <levi@unity3d.com>
Date:   Tue Feb 1 13:47:01 2011 +0100

    [Debugger] Conform to java debugger command line options.

     * debugger-agent.c: Replace defer=y with server=y,suspend=n.

    License: MIT/X11

commit 1256b48d5b03f0bb7c1742ffa2efa937ec6921c7
Author: Levi Bard <levi@unity3d.com>
Date:   Mon Jan 31 16:16:09 2011 +0100

    Revert changelog mangling.

commit c86d8718a15afe07aa48a70906af19926b43e277
Author: Levi Bard <levi@unity3d.com>
Date:   Mon Jan 31 15:42:42 2011 +0100

    [Debugger] Fix build.

     * debugger-agent.c: Fix build.

    License: MIT/X11

commit 08c96e1088e01a13657f9c226fa86441ccf225ea
Author: Levi Bard <levi@unity3d.com>
Date:   Thu Jan 13 16:34:50 2011 +0100

    [Debugger] Allow runtime to survive not being able to listen for attachments.

     * debugger-agent.c: Allow runtime to survive not being able to listen for attachments.

    License: MIT/X11

commit 4afa67dc14c360afe6a04761e05a3b081b5b4c29
Author: Levi Bard <levi@unity3d.com>
Date:   Thu Jan 13 09:46:24 2011 +0100

    [SDB] Unregress non-windows runtime shutdown.

     * debugger-agent.c: Unregress non-windows runtime shutdown.

    License: MIT/X11

commit 6c37f95fab689462e573d0c5ff088ed3141e210b
Author: Tak <levi@unity3d.com>
Date:   Wed Jan 12 13:54:11 2011 +0100

    [SDB] Fix race-to-crash on runtime shutdown.

     * debugger-agent.c: Fix race-to-crash on runtime shutdown.

    License: MIT/X11

commit 4941e44c76b98ffa1d08c0b2ba70aa48ba23d6df
Author: Tak <levi@unity3d.com>
Date:   Wed Dec 15 14:44:58 2010 +0100

    Fix shutdown crashes on windows.

commit 6949582e6630dc9274da9bf555e29251b9699a57
Author: Levi Bard <levi@unity3d.com>
Date:   Mon Dec 13 18:34:23 2010 +0100

    [Debugger] Remove unused type load pending - all loaded types are resent on
    attach.

    * mono/mini/debugger-agent.c: Remove unused type load pending.

    License: MIT/X11

commit 423ed88cfbb8a09ab1f3913b50248f5e553ac8f1
Author: Levi Bard <levi@unity3d.com>
Date:   Mon Dec 13 13:45:48 2010 +0100

    [Debugger] Remove thread start assert that's now nonsensical.

     * mono/mini/debugger-agent.c: Remove thread start
       assert that's now nonsensical.

    License: MIT/X11

commit c556b0073f27b74c11019524e780920911dbacc2
Author: Levi Bard <levi@unity3d.com>
Date:   Wed Nov 24 15:06:03 2010 +0100

    [Debugger] Listen on any address when deferring.

     * mini/debugger-agent.c: Listen on any address when deferring.

    License: MIT/X11

commit 4dfe4e99c2ed0e837ffde8b0838f4beec21c8861
Author: Levi Bard <levi@unity3d.com>
Date:   Mon Nov 22 17:08:58 2010 +0100

    [Debugger] Autogenerate default port based on PID.

     * mini/debugger-agent.c: Autogenerate default port based on PID.

    License: MIT/X11

commit 33b21e89b41c5868aa8d7e86510769cd0155c017
Author: Levi Bard <levi@unity3d.com>
Date:   Mon Nov 22 15:40:09 2010 +0100

    [Debugger] Reset pre-attach state on detach.

     * mini/debugger-agent.c: Reset pre-attach state on detach.

    License: MIT/X11

commit 11a909ca84e208775b3ef995735784e8256164f9
Author: Levi Bard <levi@unity3d.com>
Date:   Thu Nov 18 09:52:24 2010 +0100

    Undo erroneous changelog modification.

commit d4cab97de93cfa05cfc01ff368655b16f28ca799
Author: Levi Bard <levi@unity3d.com>
Date:   Thu Nov 18 09:34:36 2010 +0100

    [Debugger] Don't pend assembly loads while waiting for attach.

    * mini/debugger-agent.c: Don't pend assembly loads
      while waiting for attach.

    License: MIT/X11

commit 530b82b5e29300bfed7810ad7a2a4c5dc2a8afe0
Author: Levi Bard <levi@unity3d.com>
Date:   Thu Nov 18 09:33:24 2010 +0100

    [Debugger] Cleanup event processing while attaching.

    * mini/debugger-agent.c: Cleanup event processing
      while attaching.

    License: MIT/X11

commit 91a417067d8d4576d842cf3feeaf27952c4a179b
Author: Levi Bard <levi@unity3d.com>
Date:   Thu Nov 18 09:32:09 2010 +0100

    [Debugger] Cleanup state transmission on attach.

    * mini/debugger-agent.c: Cleanup state transmission
      on attach.

    License: MIT/X11

commit 629a10e783448a34b3ec3c30d12b16ee93ace0c6
Author: Levi Bard <levi@unity3d.com>
Date:   Thu Nov 18 09:29:49 2010 +0100

    [Debugger] Add functions for emitting thread start.

    * mini/debugger-agent.c: Add functions for emitting
      thread start.

    License: MIT/X11

commit 6194d7d359e1210e44e0b612197209a45f3d83d9
Author: Levi Bard <levi@unity3d.com>
Date:   Thu Nov 18 09:27:49 2010 +0100

    [Debugger] Appdomain unload fixes.

    * mini/debugger-agent.c: Clear pending typeloads
      when unloading, remove appdomain from table
      earlier, take loader lock.

    License: MIT/X11

commit bb746b75700b8de6a55bc52dd366ab9616d8af21
Author: Levi Bard <levi@unity3d.com>
Date:   Mon Nov 8 12:14:29 2010 +0100

    [Debugger] Cleanup debug output.

    * mini/debugger-agent.c: Cleanup debug output.

    License: MIT/X11

commit 84f4deb1b167b2ae6d9af423de0f9048e998c9ed
Author: Levi Bard <levi@unity3d.com>
Date:   Wed Nov 3 17:18:25 2010 +0100

    [SDB] Allow VM disconnection without forcing the VM to exit.

    * Mono.Debugger.Soft/Connection.cs: Allow connection close without forcing the VM to exit.
    * Mono.Debugger.Soft/VirtualMachine.cs: Allow VM disconnection without forcing the VM to exit.

    License: MIT/X11

commit 0bafdbd73394403908cd3ec4a5d130bd704bd162
Author: Levi Bard <levi@unity3d.com>
Date:   Wed Nov 3 17:09:34 2010 +0100

    [Debugger] Ensure that client listener doesn't block VM exit.

    * mini/debugger-agent.c: Ensure that client listener doesn't block VM exit.

    License: MIT/X11

commit b45c56fcb699e8fd69feea8190aaf4ccfd5cc71d
Author: Levi Bard <levi@unity3d.com>
Date:   Wed Nov 3 17:08:04 2010 +0100

    [Debugger] Ensure the VM resumes when detaching.

    * mini/debugger-agent.c: Ensure the VM resumes when detaching.

    License: MIT/X11

commit 13aff4a2110aac4a39bc380d2a150a882fe9c837
Author: Levi Bard <levi@unity3d.com>
Date:   Wed Nov 3 17:05:42 2010 +0100

    [Debugger] Don't double-emit assembly nor type load information.

    * mini/debugger-agent.c: Don't double-emit assembly nor type load information.

    License: MIT/X11

commit bcab252c3af0aa18aabc0600ca539307dd036ef4
Author: Levi Bard <levi@unity3d.com>
Date:   Wed Nov 3 10:57:02 2010 +0100

    Initial changes to enable deferred attaching to sdb.
[Cleanup] Cleanup per vargaz comments.

 * debugger-agent.c: Cleanup per vargaz comments.

License: MIT/X11
[Cleanup] Remove comment about now-fixed bug.

 * debugger-agent.c: Remove comment about now-fixed bug.

License: MIT/X11
[Debugger] Track loaded classes on a per-domain basis.

 * debugger-agent.c: Move loaded-classes to AgentDomainInfo

License: MIT/X11
[Cleanup] Don't force unrequested events to be sent.

 * debugger-agent.c: Don't force unrequested events to be sent.

License: MIT/X11
[Cleanup] Remove windows-specific shutdown hackaround.

 * debugger-agent.c: Remove windows-specific shutdown hackaround.

License: MIT/X11