Switch to PEP386-compliant development versioning

Changes the versioning scheme for development to use 'a0' suffix as a development marker.

1. Only official releases will have "plain" `X.Y.Z` version numbers; builds from source checkouts (or the upcoming CI build system) will be clearly marked as in development.
2. `a0`, in contrast to things like `-dev` or `.dev0`, is supported by distutils' MSI builder, which requires StrictVersion compatibility.  Additionally, PEP386 `X.Y.Z.dev0` sorts *after* `X.Y.Z.b1`, so `.dev` is not useful by itself.

Example workflow on master:

```
2.3.0a0 -> development version in master for upcoming 2.3.0 release
2.3.0b1 -> also b2, b3 if needed; beta versions
2.3.0 -> only  one commit has this; at this point a 2.3 branch is started
2.4.0a0 -> new working version in master
```

On 2.3 branch:
```
2.3.0 -> initial branch commit
2.3.1a0 -> working version for 2.3.1 release
2.3.1 -> only one commit; 2.3.1 release
2.3.2a0 -> etc.
```