Use a different buffer doubling logic for `std::sys::os::getcwd`
Make `std::sys::os::getcwd` call `Vec::reserve(1)` followed by
`Vec::set_len` to double the buffer. This is to align with other similar
functions, such as:
- `std::sys_common::io::read_to_end_uninitialized`
- `std::sys::fs::readlink`
Also, reduce the initial buffer size from 2048 to 512. The previous size was
introduced with
4bc26ce in 2013, but it seems a bit excessive. This is
probably because buffer doubling was not implemented back then.