fix ivory-quickcheck's QuickCheck constraint to == 2.6

later versions (2.7 and up) break API compatibility
strings: remove incorrect assertion.
ivory strings: do not use ix to record sizes.
Compile empty Haskell strings to empty C strings rather than NULL
cabal: move werror to makefile.
cabal: prepare for hackage.
cabal: prepare for Hackage.
cabal: wibble.
cabal wibbles for hackage.
cabal wibbles for hackage.
cabal wibble (wrong repo link).
cabal bump version.
cabal wibble (fix repo link).
cabal wibbles for hackage.
wibbles for hackage.
cabal wibbles for hackage.
wibbles for hackage.
wibble to cabal file.
cabal wibble for hackage.
ivory lang: introduce IvoryZeroVal typeclass, refactor IvoryZero instances

Previously, IvoryZero of the numeric types depended on the Num constraint
for the generalized "fromIntegral 0" value. This made it impossible to derive
IvoryZero for any newtypes on numbers that did not also have Num.

So, we now use an IvoryZeroVal class for all zeroable numeric types, which
can be safely derived by newtypes.