Fix #610: Restructure classpaths for clean linking API

The new API allows for classpaths to be partially linked
(n.b. packageExternalDeps, this commit fixes #609).