HLSL: Improve setting and testing of interpolation qualifiers.

Notably, use of 'linear' on a non-input could mark it as an input.
diff --git a/hlsl/hlslGrammar.cpp b/hlsl/hlslGrammar.cpp
index d0ff3cd..cc7e901 100755
--- a/hlsl/hlslGrammar.cpp
+++ b/hlsl/hlslGrammar.cpp
@@ -435,7 +435,7 @@
         return false;
     if (type.getBasicType() == EbtBlock) {
         // the type was a block, which set some parts of the qualifier
-        parseContext.mergeQualifiers(loc, type.getQualifier(), qualifier, true);
+        parseContext.mergeQualifiers(type.getQualifier(), qualifier);
         // further, it can create an anonymous instance of the block
         if (peekTokenClass(EHTokSemicolon))
             parseContext.declareBlock(loc, type);
@@ -476,7 +476,6 @@
             qualifier.volatil = true;
             break;
         case EHTokLinear:
-            qualifier.storage = EvqVaryingIn;
             qualifier.smooth = true;
             break;
         case EHTokCentroid: