Reformat code.
Create parent directories for symlink.
Remove usage of constant TL_ROOT.
Load constants.php and localconfig.php while search contao root path.
Use getContaoRoot() where needed instead of "..".
Fix illegal access to $this in static context.
Load default.php instead of config.php on Contao 3.
Check if contao core is within vendor/contao/core, if so, use it from there.