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. (!)

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information