Work-around nose issue when skipping tests

As described in the comments, older versions of python (such as 2.6 on
RHEL) are not correctly skipping tests due to a mis-match of the
SkipTest exception between testtools and nose.  This is a work-around
while [1] is resolved.

This change pulls in a later version of testtools for the fix for [2].
It also creates a dependency on unittest2 which, as described in the
comments, is the fall-back SkipTest class to be used on python < 2.7

With this, I correctly see Quantum tests skipped when Quantum is
unavailable:

---
$ nosetests  tempest.api.compute.servers.test_attach_interfaces
SS
----------------------------------------------------------------------
Ran 0 tests in 0.003s

OK (SKIP=2)
---

See [3]; Giulio Fidente did the work to diagnose this

[1] https://github.com/nose-devs/nose/pull/699
[2] https://bugs.launchpad.net/testtools/+bug/1190951
[3] https://review.openstack.org/#/c/33056

Change-Id: I12d512d52dc6ac720775b3a43db654447a9eb1aa
Fixes: bug #1177608
Fix skip test decorator

Fix @testtools.skip decorator to actually skip.  Nasty hack, but
unnecessary when nose recognises the unittest2 exceptions

Change-Id: I88e6b95dc4d2717ec8281aec3c10144199b24e36