Added unittest tutorial.

* Some changes that should have been in the last commit also made their
  way in here.
capture.CapturedFunction doesn't inherit object.

* There was no point to it doing so and it's easier to handle backwards
  compatibility this way.
Fixed typos in core docstring.
Improved documentation for execute library.

* There is now full coverage for the library's most useful functions.
  Any undocumented functions now are ones that aren't really meant to
  be exposed to the user.
Greatly improved Harness.run_tests.

* It now uses a linear time algorithm rather than a n^2 one.
* The algorithm is easy to follow and works 100% of the time that I've
  seen.
Made Harness.tests an ordered dictionary.

* The results are now printed out in a sane fashion: the order in which
  the tests were declared.
* Added documentation on the tests dictionary as it was missing
  previously.
Improved documentation all around.

* Dependency information was added to unittest doc string.
* README now just points to ReadTheDocs.
* Made index.rst a little fuller.
Added NOTICES file.

* I misinterpreted the Apache 2.0 license and thought that credit had
  to be given to the project in deriavitives, but this isn't true
  without a NOTICES file it seems. I don't really foresee it being an
  issue ever but might as well be extra safe.