Add allocation macros (per platform) and ARM cache flush

If MP_PLAT_ALLOC_EXEC isn't defined, it will fall back to m_new and m_del.
All tests for unix x64 pass.

Fixes issue #840
Done. alloc_mem wasn't static so the compiler didn't warn.