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 considered suggesting using `a` and `.dev`, to match the PEP440-normalized forms these would take, but that probably isn't worth it.

We should document the version numbers this supports, though. I'm curious what would happen if you passed a tag such as '0.1.2.pre5` (note the `.`). I guess something like `0.1.2.-0.5.pre`.