Add Cargo compiler.

This PR adds a new compiler specifically targeting Cargo. Cargo automatically searches upwards for a Cargo.toml, but if an error is encountered, then the path of that error will be relative to Cargo.toml and not vim's working directory, which means that trying to jump to the file via quickfix brings you to an empty buffer. This compiler sets up an autocommand to automatically fix the file paths and make the quickfix window work as expected.

One possible improvement for this is to get it to properly jump to the first error, which I couldn't get it to do, but I think it's functional enough to warrant inclusion.