Split the single MiMiC library into three library components: core, communication and embedding
Addresses #54 #55