workcache: Add the ability to save and load the database...

...as well as the ability to discover inputs and outputs.
rustpkg: Use workcache

rustpkg now uses the workcache library to avoid recompilation.
Hooray!
extra: Address review comments from Jack
rustpkg: Address review comments from Jack
auto merge of #9034 : catamorphism/rust/rustpkg-workcache, r=metajack

r? @metajack or @brson - This pull request makes rustpkg use the workcache library to avoid recompilation.