At least semi-portable indirect expansion
Drop directory check in remove_path
Handle empty value cases in {pre,ap}pend_path