simulated annealing energy function

it somewhat related to issues #62
<https://git.skewed.de/count0/graph-tool/issues/62&gt; and #29
<https://git.skewed.de/count0/graph-tool/issues/29&gt; - which are about
giving more algorithms for community detection - which i think is very
important.

However, I would like to use simulated annealing(SA) algo - with a different
quality(modularity) function, than of Newman. you indeed gave some
"freedom", letting the user to define gamma.However if I want to use another
function for some reason with SA , there is apparently no way to do it.

Looking at the code(graph_community.hh ), I saw that the SA mechanism is not
separated from the energy function itself ( that Newman with gamma=1, you
give here
<https://graph-tool.skewed.de/static/doc/community.html#graph_tool.community.community_structure&gt;
).

I see no reason for this , as SA algo could be used with many energy
functions.
I hope in the future you can fix it, and even maybe somehow give the user an
API to set the energy function(?) from the python code.

Thanks.