Refactor

Try using more structures (prop record) and using less options. Also, make a minimal API; don't chdir, don't create directories (let copied files do that), use ensure_dir builtin, etc.

Make core generators that are configurable for different frameworks. i.e. One release generator that can make release projects for OTP or e2, depending on what is configured or passed in via CLI. Currently it just generates an OTP release, but customization is forthcoming.

Now setting attributes requires using accessor functions that leads to staircasing, so I'm not sure how to resolve that atm.