Package by default
This change is more complex than just toggling the switch, as we want to give users something runnable to start with, but also packaged setup.
I haven't updated the tests yet.
**Draft**
| kind | package | template |
|-----------|----------------|----------------------------------------------------------|
| (default) | (default) | `main.py` calling `hello()` + package exposing `hello()` |
| (default) | `--package` | `main.py` calling `hello()` + package exposing `hello()` |
| (default) | `--no-package` | `main.py` with `main()` |
| `--app` | (default) | `main.py` with `main()` |
| `--app` | `--package` | `main.py` calling `hello()` + package exposing `hello()` |
| `--app` | `--no-package` | `main.py` with `main()` |
| `--lib` | (default) | package exposing `hello()` |
| `--lib` | `--package` | package exposing `hello()` |
| `--lib` | `--no-package` | Error: libraries are always packaged |
The default is a mixed layout: There's a package, but also a `main.py`. `--lib` creates only the package, no `main.py`, while `--app` creates only `main.py`. `--package` has no effect - it's the default now - while `--no-package` goes back to the previous default.