Reorganize Modules

Right now, all "algorithms" go under `dit.algorithms`.  It might be nice to flatten the structure a bit more so that we have various algorithm submodules available at `dit.submodule`.  We'd need to think hard about a good classification is.  Perhaps a partition is the wrong idea, and instead, we want some sort of keyword/tag system.