Fix memory aligned allocation

The _mm_malloc function is defined by GCC only for
x86 and amd64 architectures.  See build failures on
 https://buildd.debian.org/status/package.php?p=oce&suite=experimental&ver=0.11-1

Call _mm_malloc if mm_malloc.h header is found, otherwise call
posix_memalign if this function was found, otherwise call malloc.