Add 64 bit formats to pack() and unpack()

This patch adds 4 new format codes to pack() and unpack()

```
q	signed long long (always 64 bit, machine byte order)
Q	unsigned long long (always 64 bit, machine byte order)
J	unsigned long long (always 64 bit, big endian byte order)
P	unsigned long long (always 64 bit, little endian byte order)
```

These modes are only available on 64 bit platforms.

Both `q` and `Q` mimic their Perl counterparts, however Perl does not have codes for specifying the endianness. I have chosen `J` and `P` to represent the 64 bit equivalents of `N` and `V`, as these are both formats in Perl that have no real business in PHP. `J` is for Perls internal integer format, and `P` is for pointers to structures.