Bugfix for required fields / Representation of int64 for Lua 5.1

Here's a bugfix and a feature I needed recently when working using lua-pb (sorry about the messy pull request, not sure how to submit it more cleanly.)

The bugfix: required fields must always be serialized, even if they have a default value set. I tested this interoperating with Google's Java protobuf library.

The feature: I needed to store and send int64 numbers outside the safe range for integers Lua 5.1 (2^53). The only way I could do this in pure Lua was storing int64 numbers as 8-byte strings.

Thank you for the work in lua-pb, it's really useful!