Migrate DragonEgg to GCC v8.x and LLVM v6.x

Why

Just for fun :)

and for learning

HOWTO

Issues

After GCC v4.x, the API of GCC v5.x, v6.x, v7.x and even v8.x (git master branch) had been changed a lot, please God pointing me.

Backup