the exists() helper uses stat.2 unnecessarily, while calling access is
simpler and does not require filling a struct stat for no reason.
since this would make exists() into a wrapper that calls a single
function and nothing else, let's just inline the calls to access and
remove the helper.
rc_getline is an implementation from when getline wasn't available on
most libcs, and is planned for removal, however much of of the code
relies on it's behaviour of removing new lines at the end of strings.
To avoid duplicating the new line removal logic in a dozen places, we
introduce a new helper function xgetline, which just wraps around
getline but removes the new line at the end.
- drop old build system
- move shared include and source files to common directory
- drop "rc-" prefix from shared include and source files
- move executable-specific code to individual directories under src
- adjust top-level .gitignore file for new build system
This closes#489.