GCC Linux fixes on name_t

Even with these commits, I still have smoke32 test failing to compile because of integer overflow detected by gcc.
With Clang/Linux it compiles (tested without libc++) but fails with :

test/unit_tests/name/smoke.cpp(74): error in "name_smoke": check myhash == hello_world_hash failed [3985698964 != 1150843892]