Uv update 1.0.0

Good luck reviewing this.  It might be easiest to just look at the source file by file.  The diff is larger than the total code.
if the HEAD pointer stores the pointer to the tail, then we can get inserts to be O(1). or we can insert at the beginning, store the tail pointer and iterate backwards.