Generate prerelease compatible RPM version numbers and release numbers - 662

I think this should produce numbers that follow the guidlines here:
 * http://fedoraproject.org/wiki/Packaging:NamingGuidelines#Pre-Release_packages

There seem to be one or two warning when I build this locally with mock and test with rpmlint so it'll be interesting to see what buildbot says.

```
[~/.../HybridLogic/flocker-0.1.3pre1]$ rpmlint /var/lib/mock/fedora-20-x86_64/result/python-flocker-0.3.0-0.1.dev.fc20.src.rpm 
python-flocker.src: W: spelling-error %description -l en_US multi -> mulch, mufti
python-flocker.src: W: spelling-error %description -l en_US frontend -> fronted, front end, front-end
python-flocker.src:121: W: macro-in-%changelog %{version}
python-flocker.src:121: W: macro-in-%changelog %{release}
python-flocker.src: W: invalid-url Source0: Flocker-0.3.0dev1.tar.gz
1 packages and 0 specfiles checked; 0 errors, 5 warnings.
```

I tested this by adding various local tags to a local git clone of a clone to avoid any chance of pushing testing tags to GitHub.

Fixes #662 
I think this probably wants to be a public module, and imported directly. We aren't exposing an API that we want to split up for implementation reasons.