fix: terminal comma in enum requires C++11

* According to clang finishing an enum with a comma is a C++11 extension
* it doesn't seem worth a compiler error for one comma!
unsigned long long -> uint64_t

* apparently unsigned long long is a C++11 extension and is only guaranteed to be >=64 bits
* so use uint64_t which exists since C99
STY: newlines at EOF

* clang -Wall -pedantic actually complains about these
* I no longer see any compiler warnings