Reorganize file hierarchy, update to cargo build script

Use a build script that just invokes `make cargo-prep`, which generates
the version file. Move this version file into $OUT_DIR.
Update for latest rustc
Add alfred-install-workflow submodule
Add `make install` target