Create assert_that function and use it from TestCase.assertThat.

This will allow matchers to be used outside of the TestCase context.
This is useful for people who can't buy in to testtools.TestCase fully
(for whatever reason), or who like using function tests (as supported by
nose).
Move assertThat tests to separate module and apply them to assert_that as well.
Add assert_that function documentation.
Copy assertThat docstring on to assert_that.
Add assert_that NEWS entry.
Merge https://github.com/testing-cabal/testtools

Conflicts:
	NEWS
	doc/for-test-authors.rst
	testtools/testcase.py
	testtools/tests/test_testcase.py
abandoned pull request revived to comply with comments in review
Merge pull request #85 from robotfuel/master

Add assert_that top-level function