All output though logger.

The logger is thread safe, and will fix issues where two threads are
printing to the stdout or stderr at the same time, causing log lines
to mix.
New walk_invalid_response_identifier statistic.

Also changed some log entries from warning to debug.
Merge pull request #69 from boudewijn-tribler/documentation

Documentation update.
Fixes callback bug introduced in e3626fd8c778235a6af2e5218798648393b91ab3.

The bug caused the Callback.call(method, ...) method to NOT properly
handle generators when called from a different thread.  I.e.  calling
METHOD would construct a generator, this generator was then never
called.
Fixes dispersy_yield_(verified)_candidates.

Dispersy.dispersy_yield_candidates() would incorrectly only return
candidates where is_any_active() was True.  Instead it should yield
any known candidate.  The documentation has been clarified.

Dispersy.dispersy_yield_verified_candidates would unnecessarily check
if the candidates were is_any_active() and then if the category was
either 'walk' or' 'stumble'.  Only callingthe method is_active() would
result in the same.
Debug output cleanup.
Fixes tracker bug.

The tracker would always respond with the highest known community
identifier to every peer.  Hence, if all peers use version 1, while
one peer uses version 2, then the tracker would incorrectly
communicate with all peers using version 2, breaking the walker.
Better message numbers and version control.

- The community version can now be specified.

- The message numbers now all start at 100, allowing us to distinguish
  between dispersy messages (that start at 255 and go lower),
  community messages (that start at 1 and go higher), and debug
  messages (that start at 100 and go higher).
Adds detailed walker specific statistics.
Converts a Statistics object into a normal dictionary ready for pprint.
Fixes unittest skip behavior.

We assumed that "nosetests --no-skip" would not skip tests with the
@skip decorator.  This is not true, instead --no-skip only stops
reporting that a test was skipped.

We now use skipUnless, the test will be skipped unless the summary
logger ("test-bootstrap-summary") is enabled.  It can be enabled by
adding "-l test-bootstrap-summary" when calling nosetests.
Adds a live overlay test.
Enabling debug output based on logger settings.
Enabling debug output based on logger settings.
Enabling debug output based on logger settings.
Fixes unittest.

We decided to change the bahaviour of dispersy_yield_candidates to
return 'unverified' candidates, i.e. all candidates that are either
'walk', 'stumble', or 'intro'.  The unittest did not yet reflect this
change.
Rewrote check to no longer use is_active().
nosetests behaviour keeps me confuddled.

Apparently the loggers (when no other loggers are enabled using -l)
are all enabled by default.  Hence, testing if it is enabled is not a
viable option.

Nosetests is designed for automated tests only, i.e. no parameters can
be passed to change the test behaviour.  As a work-around we are now
using an environmental variable to enable specific tests.
Needed a slightly more specific check.
Write statistics to file for graphs.