Add cache flush in py/asmarm.c and add new MP_PLAT_ALLOC_EXEC and MP_PLAT_FREE_EXEC macros

Fixes issue #840
Merge pull request #845 from Vogtinator/master

Add allocation macros (per platform) and ARM cache flush