Housecleaning and examples

Cleaned up FStructure code to be much more readable, also fixing a bug in the
implementation of coherence. Gave it a temporary equals/hashCode method: won't
work (will infinite loop) for recursive structures.

Fixed up a few things elsewhere and finished the implementation of inside-out
function application for constraint equations.

I also added a ridiculous example, which PARSES!!!
"what did the strange green entity seem to try to quickly hide"
Isn't that a GREAT sentence? It's from a 2009 Asudeh and Toivonen publication.
It was the single example presented, intended to display the power of LFG.
Great, I say. Also, they did not adopt the same gap analysis as in LFS2
(Bresnan 201?), which meant I didn't need inside-out functional application with
wildcards, so the parsing goes way faster too! Yay!

I still may want to consider shifting the Solution code over to the Free monad
so we don't get stack overflows in case someone submits a screwy grammar. But it
may be possible to deal with it just by optimizing.