some larger changes to types/delays/timevals

added a number of deftype declarations to util (and exported). for
isntance, theres no type for octet, octet-vector, callback, and possibly
more to come. these are types i used everywhere AND also want to
abstract in case it becomes there's a better way to optimize them.

implemented these new types throughout util/tcp/event code.

adding timeval cache. it became apparent that a lot of the cpu/memory
woes were comine from instantiating and tearing down timeval structs (it
happens a LOT). instead of doing this everytime, timevals are now cached
into a var in util called *timevals* and freed after the event loop
exits.

updating benchmarks with some new tests and profile vals.

note that while tests are passing, for some reason it's all failing
horribly in my repl, so this commit may be broken