rewrite UUIDv4 generator since using struct is confusing in considering byte orders
rewrite UUIDv4 generator since using struct is confusing in considering byte orders

cwyang/h2o,yannick/h2o,yannick/h2o,devnexen/h2o,h2o/h2o,h2o/h2o,yannick/h2o,devnexen/h2o,h2o/h2o,cwyang/h2o,devnexen/h2o,devnexen/h2o,cwyang/h2o,h2o/h2o,yannick/h2o,h2o/h2o,devnexen/h2o,h2o/h2o,cwyang/h2o,h2o/h2o,yannick/h2o,cwyang/h2o,cwyang/h2o,yannick/h2o,yannick/h2o,h2o/h2o,cwyang/h2o,devnexen/h2o,yannick/h2o,h2o/h2o,devnexen/h2o,cwyang/h2o,devnexen/h2o,devnexen/h2o,yannick/h2o