TODO

* Consider using Scalar::Util::weaken in SQL::Routine to alleviate the need for 
an explicit destroy() by users of the module.

* Continue fleshing out the standard_routine enumerated type documentation.

* Add more deferred constraints to reduce erroneous models.

* Find some efficient way to maintain an index of surrogate ids for Nodes so
that using them isn't as expensive.  Currently, the code is optimized for those
people that don't use surrogate ids, and there is no overhead for index
maintenance.  After the change, index maintenance itself should have a very low
overhead or they may be more trouble than they're worth.  The use of them should
perhaps be controlled by a boolean Container property.

* Keep watch on the separately released "Rosetta" framework modules and ensure
we continue to meet their needs.

* Strive for complete code coverage in the tests.
