Add version information with versioneer

The Firedrake package version now includes the git revision as returned
by
```
git describe --tags --dirty --always
```

This means that users can easily include accurate version numbers with bug reports:
```
$ python setup.py --version
0.10.0-391-g65c034c
```
and we can query Firedrake programmatically for an accurate version number
```
from firedrake import __version__
```

The format is `<release>-<number of commits ahead of release>-<git sha1>-<dirty, if tree has uncommited changes>`

When building tarballs (including getting them from GitHub) the right version is encoded automagically.