Cargoify

Note that this brings master up to date with the linux branch, so only the last commit here is new.