*.c: Publish algorithm and crypto-group tables as `mapping' objects.
Previously, the algorithm tables were published as plain Python
dictionaries, and the group tables were published in a complicated way
through a read-only mapping object implemented in Python.
With the richer Python 3 mapping protocol, maintaining a separate custom
mapping object in Python seems much less attractive. Also, the group
tables were read-only while the algorithm tables were mutable, which was
a rather unfortunate inconsistency.
Fix this mess by implementing a new simple mapping object, based on
Pyke's generic mapping machinery, and populating instances of it with
the necessary data.