pub fn serve(dir: PathBuf, prog_args: &[String]) -> Result<i32>
Builds the subcrates to get a directory that we can serve and then serves it.