Don't separate creating and validating the form, it's declarative after all

Just do it in one method. This gives us some benefits too:
- We don't need tens of lines of typehints anymore
- Everything about the form is being encapsulated in one method, no
  context leaks
- Shorter notation...
Make forkmodule-cli work with multiple fork versions

This commit adds the command line option `--fork` to forkmodule-cli,
that lets you define the fork version for which you want to create a
module. It defaults to fork version 3.6

To add versions to support, we use the adapter pattern. Check the
`src/Forkmodule/Version36` directory as an example of how to do that.

usage:

	forkmodule    # This will create a module for version 3.6
	forkmodule create --fork=3.6           # also version 3.6
	forkmodule create --fork=3.7           # also version 3.7