get gf_block_struct out of sortedspace
split the sorted_space code

- preparation to add Igor's code.
forgot to add gf_block_structure
save some exp computation

-  commented. to be uncommented and cleaned.
Anderson benchmark: test/c++/long_tests/anderson -> benchmark/anderson
spinless benchmark: test/c++/long_tests/anderson -> benchmark/spinless
Discrepancies with ED are still to be investigated.
New class: scattering_graph (+test).

This utility class is used to reveal block structure of an operator in
O(V+E) time, where V is the dimension of the state space and E is the number of
non-zero matrix elements of the operator.
Incorporating space_partition into sorted_spaces