Eliminate PatBind's optional type argument.

This patch moves the optional type signature from the constructor PatBind to its pattern. So rather than

    PatBind l p (Just ty) rhs binds

the parser will now yield

    PatBind l (PatTypeSig l' p ty) rhs binds