Add primitive names to all algorithms

This change places all primitives into their own module. I have to say that by
doing this, the organization of the source code seems much improved to me.

The original API is preserved (with some changes) by aliasing shorthand class
names to their algorithm-specific versions.
Rename RbNaCl::Point to RbNaCl::GroupElement
Merge pull request #74 from cryptosphere/add-primitive-names

Place all classes in modules describing their primitives