Avoid left shift of a negative value in flush rank calculation.

The C standard permits an undefined result for a left shift of a
negative value.
diff --git a/deflate.c b/deflate.c
index c042ac2..aeabbae 100644
--- a/deflate.c
+++ b/deflate.c
@@ -156,7 +156,7 @@
 #endif
 
 /* rank Z_BLOCK between Z_NO_FLUSH and Z_PARTIAL_FLUSH */
-#define RANK(f) (((f) << 1) - ((f) > 4 ? 9 : 0))
+#define RANK(f) (((f) * 2) - ((f) > 4 ? 9 : 0))
 
 /* ===========================================================================
  * Update a hash value with the given input byte