Refactorings

Changes can be divided into 3 categories mp3, headers and memory.

-mp3 changes initiate the refactoring effort (just basic stuff)
-headers changes consist in 2 changes: ucodes headers were regrouped into a single header, alist_internal.h was renamed into alist.h to match its c file.
-core memory functions were extracted to allow wider use across the plugin (ie not only for dmem and dram, but also for alist_buffer and more).