Move serializer to a separate package and refactor out renamer.
Ignore IntelliJ project files (for now).
Bunch of potential bugs and mistakes fixed due to IntelliJ.