setup.py: improve version determination, respect PEP 440
The motivation behind this change is to allow keeping Tinyarray distributions in git repositories that have a different layout from the canonical Tinyarray git repository. This is useful for example for packaging. The static version is now kept in the file "version" and can take a special value that signifies that the version should be determined using git. This file is rewritten upon creation of a source distribution.