cargo, cargoSnapshot: Add package

Cargo downloads your Rust project's dependencies and builds your
project.

Note that the 'cargo' derivation is actually broken because we don't
have support for automatically generating Rust dependencies yet
(and manually specifying and updating them would probably be too time
consuming).

However, I've still added it to avoid duplication of work in case someone wants
to finish it.

In the mean time, we can use the cargoSnapshot derivation instead, which simply
uses a binary build.