Refactor so that libs are an element where they are needed, stored as string paths.

We parse them into URLs when necessary
Merge branch 'master' into UnitTests