Rewrote furnace recipe parser

* Fixes #110
But TrimString doesn't remove spaces in the middle, right?