Refactor SRO and cluster count observer

The following discussion from !514 (merged) should be addressed:

  • @erhart started a discussion: (+2 comments)

    A lot of this information is not used/returned afaict. The get_observable method only uses dc_tag and cluster_count. If this is correct this code can be notably simplified. There is probably no need to go through a DataFrame to produce the final dict.

    that this design could be improved quite a bit, possibly by letting BinaryShortRangeOrderObserver inherit from ClusterCountObserver instead. One could then make sure to only use the correct orbit_indices, and then I think one wouldn't have to pass this information along. I think that should be a separate MR though.