Candidate instance is no longer aware of communities.

previously the candidate instance contained information on a per
community basis.  This meant that most methods contained an argument
to identify the community for which an event occurred.

We have changed the candidate to no longer be aware of communities.
This means that:

- all arguments specifying a community have been removed,
- some methods have been removed entirely (i.e. those that exclusively
  worked on all communities), and
- some methods have been rewritten to properties (i.e. those that no
  longer have any arguments).

All changes outside candidate.py reflect changes to handle these API
changes.