Update some lint rules, including:
* change max line length from 79 to 120, following [pytorch]
* add dedent_closing_brackets in yapf
* remove typed def requirements in mypy
Fix return code bug in setup.py, when lint/test command return 1,
`os.system` will return 256 and `sys.exit(256)` will get return code 0.
[pytorch]: https://github.com/pytorch/pytorch/blob/d1dcd5f/.flake8#L3
Initialize setup.py and basic configurations for this project.
Major revisions:
- initialize setup.py for Python package
- add gitignore and dockerignore
- add editorconfig for editors
- configure yapf for auto formating
- configure mypy for type hint
- configure flake8 for lint, including quotes and docstrings
- add pre-commit check for `git commit`
- add spelling check in GitHub Actions
- format existing files according to configured rules
Example usage:
# install dependencies
$ python3 -m pip install -e .[dev,test]
$ pre-commit install
# format code automatically
$ python3 setup.py format
# lint code
$ python3 setup.py lint
# test code
$ python3 setup.py test