Add a first_map_only parameter so we keep reusing the first received static map.

We need this for a rather exotic case: when running our robots inside a concert (https://github.com/robotics-in-concert), the first time we subscribe we get the map, but not in subsequent subscriptions (due to clearing costmaps) because we didn't unsubscribe.
An easier solution is just to call shutdown in the map subscriber, but we still have a big delay (maps is shared in a server) until receiving the map, so this flag is much better option.
I didn't verify that it doesn't interfere with map updates (mostly because is the first time I see this feature!), but apart from this, we have this change running happily in our robots.