Qualshrink

This is a co-request of: ucsd-progsys/liquidhaskell#95

Don't generalize `Sort` in qualifier definition unless sort is a lower-case identifier 
(i.e. type variable). Earlier, things like

    qualif Foo(v:ByteString, x: ByteString): v = x

were generalized to 
    
    qualif Foo(v:@(0), x:@(0)): v = x

which was also slowing things down.