[fc-solve] recycle instances instead of freeing.
This is better for preventing memory fragmentation and may also be a
little faster. Some methods were extracted, library calls avoided,
and the code cleaned up.
I hereby disclaim any implicit or explicit ownership of my changes in this
changeset, and put them under a multiple licence consisting of your choice of
one of more of:
- The CC0 / Public Domain - https://creativecommons.org/choose/zero/ .
- The MIT / Expat license - https://en.wikipedia.org/wiki/MIT_License
- Any licence in the 2018-Aug-27 popular licenses list of
https://opensource.org/licenses
Crediting me will be nice, but not mandatory, and you can change the licence
of the project without needing my permission.