ARM: Add ARMv6 or older __sync_synchronize built-in

* On ARMv6 or older, we do a simulated dsb.
* Move __sync_synchronize into thread.c in libroot
  and use the new arch_atomic.h dsb/dmb defines.
* Gets arm @bootstrap-raw to end of bootstrap.
ARM: Break apart ARMv5 and older dsb/dmb

* Add isb just because.
* pdziepak pointed out that ARMv5 and before
  had different barrier support.
* pdziepak also mentioned that dsb was too strong
  for __sync_synchronize
ARM: Fix dmb opcode 2 on ARMv6

* Typo, also fix tabs
* Sorry for the spam, this should be correct now