Assertion improvements

* Use sizeof() trick to avoid compiler warnings when DASSERTs are
  disabled for non-debug builds.
* Key off the standard 'NDEBUG' rather than our weirdo DEBUG macro.
* Printf-safety for ASSERT_MSG by making the condition a %s argument
  instead of part of the format string.
* Change message variants to ASSERT_MSG and DASSERT_MSG (more similar to
  proposed C++11 nomenclature).
* Remove unused ABORT macro.