Regarding the traffic islands: the paths for the pedestrian crossings need to be connected, they shouldn't stop at the traffic island. If the path stops at the traffic island, navigation software will treat the path as a cul-de-sac and not navigate on it. You can either just draw the paths through the traffic island or you can create extra paths on the traffic island (connected to the paths outside of the island) and label them highway=footway & footway=traffic_island. 