Fixed upb encoder for field numbers > 2**28.

The encoder was improperly sign-extending the tag to 64 bits.
diff --git a/tests/bindings/lua/test.proto b/tests/bindings/lua/test.proto
index 2803835..6b45350 100644
--- a/tests/bindings/lua/test.proto
+++ b/tests/bindings/lua/test.proto
@@ -22,3 +22,7 @@
   repeated fixed32 f32_packed = 4 [packed = false];
   repeated fixed64 f64_packed = 5 [packed = false];
 }
+
+message TestLargeFieldNumber {
+  optional int32 i32 = 456214797;
+}