fix https://d.puremagic.com/issues/show_bug.cgi?id=11437

do not rely on the recommended order of sstModule and sstAlignSym/sstSrcModule records
fix https://d.puremagic.com/issues/show_bug.cgi?id=11547

an error dialog pops up if Engine::CanTerminateProcess returns failure, but not if TerminateProcess does. The process is actually terminated elsewhere.
fix missing assert symbol when using reduced #includes
also pretend that termination is ok in Engine::TerminateProcess, if the process is already dead
Add project files for Visual Studio 2010.
Add templates for the property sheets that the project files depend on.
Please read PropsSheets\ReadMe.txt to learn how to make the property sheets.
fix https://d.puremagic.com/issues/show_bug.cgi?id=11030
Set multiple breakpoints if the same line is used by multiple code sequences, e.g. with different template instances.
extend last fix to allow "show disassembly" to select multiple addresses if the same line is used by multiple code sequences, e.g. with different template instances.
fix bugzilla 11029 - templates, nested structs do not debug properly

do not assume line numbers to be sorted
Instead of returning 2 values from event callbacks, run or break, return 3:
Run, Break, Wait

The Wait value would be used to keep an InstructionStepperProbeCall active in break mode.
Run would make the stepper step out of the called routine.
Break would end the step at the called routine.

Returning Wait allows separating the event callback (OnProbeCall) from the handling
(Exec.ContinueDebugEvent or CancelStep) without changing the way events are handled.
It makes it easy to implement a simple remote protocol where the client sends requests,
and the server sends responses and asynchronous messages (events).
The ArchData type brings together all process and thread attributes that depend on the processor architecture.
For now, implement the stack walker for x86.
Wrap up the descriptions of the x86 register groups with ArchData.
Move the call to Windows SetThreadContext outside of RegisterSet::SetValue. There's no need for it to be there.

Take out the back-ups of the register in RegisterSet::SetValue. They aren't needed, because after setting a register value from the UI. VS asks for the callstack again.
Get rid of changes to Engine for testing.
Make RegisterSet more general, so that it work with any thread context of any architecture.
Move the map of debug info register ID to ArchData register ID for x86 from ExprContext to ArchDataX86.
Hide the processor features inside ArchData.
Call GetThreadContext and SetThreadContext from DebuggerProxy, so that it can eventually handle other architectures.
Pass around and check the size of the context structure.

Fix a bug in RegProperty where the result of DebuggerProxy::SetThreadContext was used as a boolean instead of HRESULT.
Move the code that gets the values of associative arrays and gets D exception information into its own class and file.
When getting exception information, make sure to read memory using the debugger proxy.