Fix a typo in an architecture define in one of the earlier commits.
Rework handling of ARM/Thumb single step.
Create a DS2_UNREACHABLE macro

__builtin_trap is not always available.  The particular use of it was indented
to indicate that the code path is not reachable.  Create a DS2_UNREACHABLE macro
to aid in marking the location as such across various compilers.
Remove useless #includes from Base.h and move to appropriate files.
Stop using `assert' in favor of DS2ASSERT.

This makes sure that we get failed assertions in our log files and
uniformizes the output format.
Minor style fixups.

Just ran clang-format on every file.