Consider the case when the storage controller handles the re-attach of a node
before the heartbeats detect that the node is back online. We still need
to reconfigure the node (by calling `Service::node_configure`) to migrate
attachments back onto the node.
In order to determine if node reconfiguration is required, we call into
`Node::get_availability_transition`. This commit updates the function
to consider the transition from "node just re-attached" (with no
utilisation score) to "node responded to the first heartbeat after a
period of unavailablity" (with some utilisation score).
The binary etc were renamed some time ago, but the path in the source
tree remained "attachment_service" to avoid disruption to ongoing PRs.
There aren't any big PRs out right now, so it's a good time to cut over.
- Rename `attachment_service` to `storage_controller`
- Move it to the top level for symmetry with `storage_broker` & to avoid
mixing the non-prod neon_local stuff (`control_plane/`) with the storage
controller which is a production component.