eliminate element registry
This change eliminates the element registry, and the Pipeline element methods, in favor of just using Pipeline.insert to insert elements into the pipeline.
This allows for use of external element libraries without the need to have those modules/elements be "registered" with the base sgn Pipeline class in order to use the pipeline. This should make development and usage of external libraries much simpler, at the expense of a maybe slightly clunkier interface to build pipelines (although I would argue the resulting interface is more straight forward and less confusing).
Best to review individual commits in sequence.
Edited by Jameson Rollins