Merge pull request #81 from gridaphobe/master

assert negation of model + equivalence classes in allSat
Add new test suite file to the cabal file
typo
Add getModelDictionary, further improving #80

This is about improving programming with models returned, as described
in #80. Added two new functions:

getModelDictionary: for sat/prove calls
getModelDictionaries: for allSat calls

That lets the user receive a String -> CW map, further giving access to
the model as returned by the SMT solver. Together with the functions
exported from Data.SBV.Internals, there’s quite a bit of power for the
user to extract these values and do a fair bit of programming.

Of course, the utility of this remains to be seen, as no-one has tried
doing serious programming this way. We might end up modifying the API a
bit and/or export further functions as necessary.
getModelDictionary: return empty dict instead of failing

When there’s no model, it’s OK to return an empty dict. Use
`modelExists` to make sure there is a model.
Add "getModelValue" and "getModelValues"

These two functions greatly simplify programming with counter-example
values.
Comments only.
Add getModelUninterpretedValue

Similar to getModelValue, but for uninterpreted-sorts. Unfortunately,
the best we can do in this case is to return a string, but better than
nothing.
Add getModelUninterpretedValues

Counterpart of getModelUninterpretedValue for all-sat calls.
Add model extraction example