Add type-holes

This branch adds support for "holes" in our refinement types, letting us only specify a partial type, e.g. the bits we care about. LiquidHaskell will then infer whatever it can for the holes. One catch