Added IdentityMapper class. Refactored privilege table to it.

The GameMaster should ensure that only registered characters are recognized
by IdentityMap. This prevents malicious Villager implementations from creating
an instance of another villager and passing it to the GameMaster as their
identity in order to gain a privilege for an action they have no right to.

This would, however, assume that the name + rolestring combination is unique.
Renamed exceptions.py to errors.py.

EMBARRASSING! Unit test will not run since exceptions.py conflicts with the
built-in Python exceptions module.
Declared the @staticmethod decorator on functions in IdentityMapper, where appropriate.

All this time, unit tests were failing because I haven't declared this decorator.
I haven't been running my unit tests as well. :|