refactor to make the algorithm simpler to implement.  Still a WIP.
- tuid32 temporarily removed as it was distracting and will be easy to
  re-implement from the 64bit fns.
- use libtap for testing
- add valgrind make target, currently runs valgrind clean
- get rid of typedef, typedefs seem unpopular these days
- start the docs