Fix #140

  The Smtlib solver was translating Fin constraints to True, as it didn't know
how to handle them.  They should have been skipped, and returned back as
unsolved goals instead.
Add test cases for issue #58.
Export schema-parsing functions
Store goals in a TypeMap, instead of a list

  This should reduce the number of redundant constraints getting generated.
Add a Goals newtype

  This makes it easier to get the behavior of the TVars instance under control,
as we can choose to only apply the substitution to the values of the map after
first applying it to the keys, and thus possibly removing redundant goals.
Merge branch 'master' into wip/cs
Merge branch 'wip/cs' of github.com:GaloisInc/cryptol into wip/cs
Filter out "true" in simplifyProps