Initial commit, this has some issues but works

A bunch of FIXMEs and TODOs but all in all a working migration script