Tag release

This PR adds a new command `tag-release` which tags a repository and its submodules given an input release number. More precisely:

- the tag is constructed from the release number and the tag prefix read using `git describe`.
- if no tag is present on the repository, the release number is the same as the tag
- tags can be pushed to the remote using the `--push` option

This new command should allow a more thorough testing of openmicroscopy/bioformats#627.

The tests have additionally been converted to using `nosetests` and a simple TestTagRelease test class tags  snoopys-sandbox with a random tag. Additional options have also been passed to the Travis script to reduce the number of errors in the Travis build (i.e. all integration tests involving some push to Github).

Additional checks/features for this PR could be:
- [ ] add checks for the existence of the tag before calling `git tag` 
- [ ] add `--delete` option to quickly remove all created tags (for testing purposes)
- [ ] test recursive tagging as part of TestTagRelease

@joshmoore, @melissalinkert: thoughts?