Initial commit, but something's wrong with the templates on IdMaps.

Things may still have to change around a lot.
Some name changes, and cleaning up some concepts that aren't right for now.