array: made special member functions inline.
thread: tidy.
mutex: new class and interface;¹ added mutex test.

1: Really wanted to encapsulate all system-level stuff, but there's no
way that's happening with this. Chicken-and-egg situation with allocators,
which need to guard operations. Kind of silly to have to dynamically
allocate these anyways. I might change Thread to do be same, but I'm
not sure yet.
memory: added mutex to HeapAllocator, noted thread safety for allocators.

test: import threading-support on all tests instead of selective.
config: added compiler detection definitions.
assert: removed TOGO_DEBUG_MSG() macros.
assert: fully-qualified error_abort() calls in assertion macros.
log: new module.
array: removed assertions from begin() & end(); made small funcs inline.
queue: new class and interface; added test/collections/queue.