Link with yices1 statically instead of dynamically.

In the hopes that it fixes this recurring seg fault.
It appears to have helped, at least. We'll see if it fixed the issue.
Remove unused y1tests.hs.
Move Model from smten-base to smten-lib because it's not needed in base.
Use a hash table for the Model instead of association list.

In the cases where there are a large number of variables, this makes a
big difference. For example: nqueens minisat bool 200 dropped from
33 seconds down to 6.
Add another important Opt test case.

It currently fails.
Removed some unneeded RebindableSyntax pragmas.
Switched to using Monad class defined in GHC.Base.

This way we can use haskell's native do-notation, and don't need
RebindableSyntax for that.
Removed unnecessary RebindableSyntax pragmas.

Now that do-notation no longer needs RebindableSyntax.
Switched to Eq defined in Prelude for Smten.Prelude.
Add support for auto-deriving of Eq.
Use auto-deriving of Eq where-ever possible.