The subprograms in Alr.Checkout, which disappears, are refactored into
Alire.Workspace. This will enable better logic for retrieval/updates, without
the need to internally reroute to Alr.Commands.Update, which causes some
unrelated side-effects (like re-resolving even when unnecessary).
Minor change: now all crates leave a trace in the form of their dependency
folder within the cache, even if this folder is empty for dependencies whose
deployment does not require such a folder. This is more homogeneous and might
be useful in the future to store status about dependency deployment
completeness right there.
A couple tests are fixed to account for minor output changes and a change in
behavior between Python 2 and 3 (not sure why it not arose initially).