Davidthomas426 277 arm support

Added support for compiling/running on ARM. Compiling with optimization causes a crash at runtime due to a strange interaction between migration of coroutines between threads and using thread-local storage. Compiling without optimization seems to work just fine, and all the unit tests pass.