allow library to be optionally specified
allow direct sample creation
Move check for succeeded input builds

The check for succeeded builds used to happen at definition time, but has been
moved to build time so that a new DE model can be defined before its input
builds have succeeded.