Added new Precondition error type
Reuse existing relations better and only detach requirejs and almond assets if they aren't referenced from somewhere else