Make pack() tests more systematic
Fix some issues revealed by TestPack.test_pack_numeric()
DRY

Note: PHP has inconsistent warning messages. I think that the
minor incompatibility is worth it.
Correctly handle '*' for numeric pack() formats