Refactoring sufia to be a 2nd level engine

In working on curate_nd, and the corresponding curate engine, Sufia is
a second level engine (i.e. an engine required within an engine). These
changes, and there may be more, were necessary to get my rudimentary
test suite running.