Move most of "circuit_mark_for_close" into "circuit_free" or "circuit_close_all_marked".
The function "circuit_mark_for_close()" calls a few other functions (notably circuit_build_failed() and rend_client_report_intro_point_failure()) that call into the blob. If we pull it out, we would chop the remaining blob in half.
We should use a system similar to the one we use for closeable connections where we put closeable circuits on a list, rather than iterating over the entire circuit list.
Doing this would remove more than half of the functions currently in the blob as currently measured. (!)