added pep440 compliance option

Hi, we have added some functionalty to replace the version string git commit number with a more pep440 compliant 'dev'. There is also the option to replace 'dev' with a string of your choice (e.g. 'post'). This can be configured via the two new header.py variables:

    pep440_compliant (default False)
    release_type_string (default 'dev')

We can see there is some major refactoring in progress in the 'template' branch, but we hoped it would be possible to incorporate these small updates to the master. No test for 'git2pep440', but can be added if you agree to incorporate the changes.
Yes, the point is to have the git sha in the version to get around the issue that the commits count only counts from the last tag so if you build out of two different branches they can have the same number of commits.  Tacking the sha on won't help pip and automatic tools for sorting but will a) give humans a prayer of sorting out what is going on (as a maintainer, this could _really_ help with bug reports) and b) allow you to specify the full version (including the sha) if you really cared.

I think the point of the 'local version' is to allow downstream packagers to version their packages (either for build reasons or patch reasons) is such a way that does not tramp on the upstream versions.  What I am proposing is an abuse of this, but a very useful abuse.

In an attempt to appeal to authority, scipy has _just_ started doing this: https://github.com/scipy/scipy/pull/4307/files