Add new utility classes for algorithm implementors

Unlike the old ones, these utility classes are purely optional:
they're intended to be used by the algorithms (or pure Python
plugins), but they're not required.  They do make it a lot easier
to adhere to the schema conventions, though.
Add base classes for new C++ Algorithm interface
Generic Python wrappers that turn Algorithms into Plugins
Rework PsfFlux into new Algorithm interface.
Rework SdssShape into new Algorithm interface.