Privatize most of our headers

Almost everything doesn't need to be installed except for the
registrations. Maybe some day folks will want to get to the internals,
but let's start by assuming not.
Move registration classes up a directory

Since they're the only public headers, we don't need to subdirectory
them.
Remove the registration namespace

It was just in the way.
Rename Base to Registration

Since we lost the registration namespace, we needed a better name for
that class.
Merge pull request #11 from gadomski/issues/9-reorganize

Reorganize everything!